         
         
         // Remove the target from its current parent, making sure to store the child index
-        var childIndex:int = dispObjParent.getChildIndex(displayObject);
-        if (dispObjParent is Group)
-            Group(dispObjParent).$removeChild(displayObject);
-        else
-            dispObjParent.removeChild(displayObject);
+        var displayObjectIndex:int = IGraphicElementHost(parent).detachDisplayObject(this); 
         
         // Parent the target to the drawSprite and then attach the drawSprite to the stage
         topLevel.addChild(drawSprite);

    [Inspectable(category="General", defaultValue="true")]

    /**
     *  Specifies whether this element is included in the layout of the group.
     *
     *  @default true
     *  

        invalidatePropertiesFlag = true;

        if (parent)
            IGraphicElementHost(parent).invalidateGraphicElementProperties(this);
    }

    /**
