      *  @throws ArgumentError If the element parameter is not a child of 
      *  this visual container.
      */
-    function removeElement(element:Object):Object;
+    function removeElement(element:IVisualElement):IVisualElement;
     
     /**
      *  Removes a visual element from the specified index position 

     *  @param element1 The first visual element.
     *  @param element2 The second visual element.
     */
    function swapElements(element1 :Object, element2 :Object):void;
    
    /**
     *  Swaps the visual elements at the two specified index 

     * 
     *  @throws RangeError If the index does not exist in the child list.
     */
    function removeElementAt(index:int):IVisualElement;
    
    //----------------------------------
    //  Visual Element index
