     private var _sessionCachingEnabled:Boolean = false;
     
     /**
-     *  
+     *  Toggles the application session caching feature for the application.  When
+     *  enabled, the application will automatically save the main navigator's view 
+     *  data and navigation history to the persistence manager.  When the application 
+     *  is relaunched, this data will automatically be read from the persistence store
+     *  and applied to the application's navigator.
+     * 
+     *  <p>When enabled, the application version and time the persistence data was 
+     *  generated will also be added to the persistence object.  These can be
+     *  accessed by using the persistence manager's <code>getProperty()</code> method
+     *  using either the <code>applicationVersion</code> or <code>timestamp</code> key.</p>
+     * 
+     *  <p>When the persistence object is being created, the application will dispatch
+     *  a cancelable <code>FlexEvent.APPLICATION_PERSISTING</code> event when the process
+     *  begins and a <code>FlexEvent.APPLICATION_PERSIST</code> event when it completes.  
+     *  If the APPLICATION_PERSISTING event is canceled, the persistence object is not created.
+     *  Similarily, when this information is being restored to the application, a cancelable
+     *  <code>FlexEvent.APPLICATION_RESTORING</code> is dispatched followed by a
+     *  <code>FlexEvent.APPLICATION_RESTORE</code> event.  Canceling the APPLICATION_RESTORING
+     *  event will prevent the navigation data from being restored.</p>
+     * 
+     *  <p>The <code>sessionCachingEnabled</code> flag must be set to true before
+     *  the application initializes itself for the navigator's state to be automatically
+     *  restored.</p>
+     * 
+     *  @langversion 3.0
+     *  @playerversion Flash 10.1
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public function get sessionCachingEnabled():Boolean
     {

    //  Variables
    //
    //--------------------------------------------------------------------------
    
    /**
     *  @private

        _sessionCachingEnabled = value;
    }
    
    //----------------------------------
    //  viewMenuOpen
    //----------------------------------
    private var _viewMenuOpen:Boolean = false;
    
    /**
     *  Opens the view menu if set to true and closes it if set to false. 
     * 
     *  @default false
     */
    public function get viewMenuOpen():Boolean
    {
        return _viewMenuOpen;
    }
    
    /**
     *  @private
     */ 
    public function set viewMenuOpen(value:Boolean):void
    {
        if (value == _viewMenuOpen)
            return;
        
        if (!viewMenu || !activeView.viewMenuItems || activeView.viewMenuItems.length == 0)
            return;
        
        _viewMenuOpen = value;
        
        if (_viewMenuOpen)
            openViewMenu();
        else
            closeViewMenu();
    }
    
    //--------------------------------------------------------------------------
    //
    //  Methods
    //
    //--------------------------------------------------------------------------
    
    /**
     *  This method is called when the application is invoked by the
