     /**
      *  @inheritDoc
      */ 
-    public function getElementAt(index:int):Object
-    {
-        return getChildAt(index);
+    public function getElementAt(index:int):IVisualElement
+    {
+        return getChildAt(index) as IVisualElement;
     }
     
     /**
      *  @inheritDoc
      */
-    public function getElementIndex(element:Object):int
+    public function getElementIndex(element:IVisualElement):int
     {
         if (! (element is DisplayObject) )
             throw ArgumentError(element + " is not found in this Container");

    /**
     *  @inheritDoc
     */ 
    public function addElement(element:Object):Object
    {
        if (! (element is DisplayObject) )
            throw ArgumentError(element + " is not supported in this Container");
        
        return addChild(element as DisplayObject);
    }
    
    /**
     *  @inheritDoc
     */
    public function addElementAt(element:Object, index:int):Object
    {
        if (! (element is DisplayObject) )
            throw ArgumentError(element + " is not supported in this Container");
        
        return addChildAt(element as DisplayObject, index);
    }
    
    /**
     *  @inheritDoc
     */
    public function removeElement(element:Object):Object
    {
        if (! (element is DisplayObject) )
            throw ArgumentError(element + " is not found in this Container");
        
        return removeChild(element as DisplayObject);
    }
    
    /**
     *  @inheritDoc
     */
    public function removeElementAt(index:int):Object
    {
        return removeChildAt(index);
    }
    
    /**
     *  @inheritDoc
     */
    public function setElementIndex(element:Object, index:int):void
    {
        if (! (element is DisplayObject) )
            throw ArgumentError(element + " is not found in this Container");

    /**
     *  @inheritDoc
     */
    public function swapElements(element1:IVisualElement, element2:IVisualElement):void
    {
        if (! (element1 is DisplayObject) )
            throw ArgumentError(element1 + " is not found in this Container");
