 	
 	private function getContainer(child:*):*
 	{
-	    if (hasParent)
-	       return child.parent;
-	    else
-	       return child.elementHost;
+	   return child.parent;
 	}
 	
     private function addChild(container:*, child:*):void
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           container.addItem(child);
+        else
            container.addChild(child);
-        else
-           container.addItem(child);
     }
     
     private function removeChild(container:*, child:*):void
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           container.removeItem(child);
+        else
            container.removeChild(child);
-        else
-           container.removeItem(child);
     }
     
     private function addChildAt(container:*, child:*, index:int):void
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           container.addItemAt(child, index);
+        else
            container.addChildAt(child, index);
-        else
-           container.addItemAt(child, index);
     }
     
     private function getChildIndex(container:*, child:*):int
     {
-        if (hasParent && !(container is Group))
+        if (container is Group)
+           return container.getItemIndex(child);
+        else
            return container.getChildIndex(child);
-        else
-           return container.getItemIndex(child);
     }
 
 	/**

	//  Properties
	//
	//--------------------------------------------------------------------------
	
	private var hasParent:Boolean;
	
	//----------------------------------
	//  index

	 */
	override public function play():void
	{
		// Dispatch an effectStart event from the target.
		super.play();	
		
