                 newNavigatorProperties.titleLayout = navigator.titleLayout;
                
             // Always want to save the navigation stack
-            // TODO (chiedozi): I'm not doing this right...
             newNavigatorProperties.navigationStack = navigator.navigationStack;
             navigatorProperties = newNavigatorProperties;
         }

    }
    
    /**
     *  @private
     */ 
    override protected function registerPersistenceClassAliases():void
    {
        super.registerPersistenceClassAliases();
        
        // Register aliases for custom classes that will be written to
        // persistence store by navigator
        registerClassAlias("ViewDescriptor", ViewDescriptor);
        registerClassAlias("NavigationStack", NavigationStack);
    }
    
    /**
     * @private
     */
    override protected function restoreApplicationState():void
    {
        // TODO (chiedozi): Figure out how to refactor this into base class.  Need navigator
        // to be a part of the base class
        super.restoreApplicationState();
        
        var savedState:Object = persistenceManager.getProperty("navigatorState");
        
        if (savedState)
            navigator.restoreViewData(savedState);
    }
    
    //--------------------------------------------------------------------------

    /**
     *  @private
     */
    override protected function invokeHandler(event:InvokeEvent):void
    {
        super.invokeHandler(event);

        // Set the stage focus to the navigator's active view
        if (systemManager.stage.focus == null && navigator)
