bool TBInitAddons()
{
    TBAddonFactory *f = g_registered_addon_factories;
    while (f)
    {
        TBAddon *addon = f->Create();
        if (!addon || !addon->Init())
        {
            delete addon;
            TBDebugOut("Failed initiating addon\n");
            return false;
        }
        m_addons.AddLast(addon);
        f = f->next;
    }
    return true;
}
TBWidgetAnimationObject::TBWidgetAnimationObject(TBWidget *widget)
    : m_widget(widget)
{
    widget_animations.AddLast(this);
}
void TBWidgetListener::AddGlobalListener(TBWidgetListener *listener)
{
	g_listeners.AddLast(listener);
}