     /**
      *  @private
      */
-    mx_internal var _source:Vector.<ViewHistoryData>;
+    private var _source:Vector.<ViewHistoryData>;
+    
+    /**
+     *  @private
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */ 
+    mx_internal function get source():Vector.<ViewHistoryData>
+    {
+        return _source;
+    }
     
     //--------------------------------------------------------------------------
     //

    // 
    //--------------------------------------------------------------------------
    
    public function writeExternal(output:IDataOutput):void
    {
        output.writeObject(firstViewData);
        output.writeObject(label);
        output.writeObject(_source);
        output.writeObject(getQualifiedClassName(icon));
        output.writeObject(getQualifiedClassName(firstView));
    }
    
    public function readExternal(input:IDataInput):void 
    {
        firstViewData = input.readObject();
        label = input.readObject();
        _source = input.readObject() as Vector.<ViewHistoryData>;
        
        var className:String = input.readObject();
        icon = (className == "null") ? null : getDefinitionByName(className) as Class;
        

    }
    
    /**
     *  Adds a view to the top of the navigation stack.
     * 
     *  @param factory The class of the View to create.
     *  @param data The data object to pass to the view when it is created
     *  
     *  @return The data structure that represents the current view.
     * 
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */
    public function push(factory:Class, data:Object):ViewHistoryData
    {
        var viewData:ViewHistoryData = new ViewHistoryData(factory, data);
        _source.push(viewData);
        
        return viewData;
    }
    
    /**
     *  Removes the top view off the stack.
     * 
     *  @return The data structure that represented the View.
     * 
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */
    public function pop():ViewHistoryData
    {
        return _source.pop();
    }
    
    /**
     *  Removes all but the root object from the navigation stack.
     *  
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */
    public function popToFirstView():void
    {
