 	public function AddActionInstance(target:Object)
 	{
 		super(target);
-        try {
-            target.parent;
-            hasParent = true;
-        } catch (e:Error) {
-            hasParent = false;
-        }
 	}
 	
 	//--------------------------------------------------------------------------

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

	/**

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