         if (event.relatedObject.parent != targetStack)
             return;
 
-        var newChild:INavigatorContent = INavigatorContent(event.relatedObject);
+        var newChild:Container = Container(event.relatedObject);
         var item:Button = Button(createNavItem(itemToLabel(newChild), newChild.icon));
         var index:int = newChild.parent.getChildIndex(DisplayObject(newChild));
         setChildIndex(item, index);

                IndexChangedEvent.CHILD_INDEX_CHANGE, childIndexChangeHandler);

            var numViews:int = targetStack.numChildren;
            var child:INavigatorContent;

            for (var i:int = 0; i < numViews; i++)
	        {
                child = INavigatorContent(targetStack.getChildAt(i));

                child.removeEventListener("labelChanged", labelChangedHandler);
                child.removeEventListener("iconChanged", iconChangedHandler);

                if (targetStack)
                {
                    Button(getChildAt(i)).enabled = value &&
                            Container(targetStack.getChildAt(i)).enabled;
                }
                else
                {
