      *  next (or previous) child gets automatically selected; when the last
      *  remaining child is removed, the selectedIndex is set to -1.
      */
-    private function childRemoveHandler(event:ChildExistenceChangedEvent):void
-    {
-        var child:DisplayObject = event.relatedObject;
-        var index:int = getChildIndex(child);
-        
+    private function childRemoveHandler(child:DisplayObject, index:int):void
+    {
         if (child is INavigatorContent)
         {
             child.removeEventListener("labelChanged", navigatorChildChangedHandler);

    /**
     *  @private
     */
    private function childAddHandler(event:ChildExistenceChangedEvent):void
    {
        var child:DisplayObject = event.relatedObject;
        var index:int = getChildIndex(child);

        if (child is IUIComponent)

     */
    private var dispatchChangeEventPending:Boolean = false;

    /**
     *  @private
     *  If we're in the middle of adding a child
     */
    private var addingChildren:Boolean = false;
    
    //--------------------------------------------------------------------------
    //
    //  Overridden properties
