             if (item is IStyleClient)
                 IStyleClient(item).regenerateStyleCache(true);
                 
-            childDO = createVisualForItem(graphicItem);
+            myItemRenderer = createRendererForItem(graphicItem, index);
         }   
         else
         {
-            childDO = createVisualForItem(item);
-        }
+            myItemRenderer = createRendererForItem(item, index);
+        }
+        
+        registerRenderer(index, myItemRenderer);
+        
+        if (myItemRenderer is GraphicElement)
+            childDO = GraphicElement(myItemRenderer).displayObject;
+        else
+            childDO = DisplayObject(myItemRenderer);
         
         addItemToDisplayList(childDO, item, index);
         
         dispatchEvent(new ItemExistenceChangedEvent(
-                      ItemExistenceChangedEvent.ITEM_ADD, false, false, item));
+                      ItemExistenceChangedEvent.ITEM_ADD, false, false, 
+                      item, index, getItemRenderer(index)));
         
         invalidateSize();
         invalidateDisplayList();

     * 
     *  @param item The data element.
     *
     *  @return The DisplayObject instance that represents the data elelement.
     */
    protected function createVisualForItem(item:Object):DisplayObject
    {
        var myItemRenderer:Object;
        var itemDisplayObject:DisplayObject;
        
        if (item === null)
            throw new Error("DataGroup content can not contain null items.");

package mx.components
{
import flash.display.DisplayObject;
import flash.events.Event;

import mx.collections.IList;
import mx.components.baseClasses.GroupBase;
import mx.core.IDataRenderer;
import mx.core.IFactory;
import mx.core.IVisualElement;
import mx.core.IVisualElementContainer;
import mx.core.mx_internal;
import mx.events.CollectionEvent;
import mx.events.CollectionEventKind;
import mx.events.ItemExistenceChangedEvent;
import mx.graphics.graphicsClasses.GraphicElement;
import mx.layout.ILayoutElement;
import mx.layout.LayoutElementFactory;
import mx.styles.IStyleClient;

/**
