         {
             dispatchEvent(new ElementExistenceEvent(
                           ElementExistenceEvent.ELEMENT_ADD, false, false, element, index));
+            
+            if (element is IUIComponent)
+                element.dispatchEvent(new FlexEvent(FlexEvent.ADD));
         }
         
         invalidateSize();

        {        
            dispatchEvent(new ElementExistenceEvent(
                          ElementExistenceEvent.ELEMENT_REMOVE, false, false, element, index));
        }
        
        if (element && (element is IGraphicElement))

import flash.geom.Rectangle;

import mx.core.IFontContextComponent;
import mx.core.IUIComponent;
import mx.core.IUITextField;
import mx.core.IVisualElement;
import mx.core.IVisualElementContainer;
import mx.core.UIComponent;
import mx.core.mx_internal;
import mx.events.FlexEvent;
import mx.styles.ISimpleStyleClient;
import mx.styles.IStyleClient;
import mx.styles.StyleProtoChain;
