         }
     }
     
+    /**
+     *  @private
+     */
+	private function deactiveView(view:View):void
+	{
+		if (view.isActive)
+			view.setActive(false);
+		
+		view.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, 
+			view_propertyChangeHandler);
+	}
+	
     /**
      *  @private
      */

            return;
        
        // Deactivate the view if it is active
        if (currentView.isActive)
            currentView.setActive(false);
        
        removeElement(currentView);
        
        currentView.removeEventListener(PropertyChangeEvent.PROPERTY_CHANGE, 
            view_propertyChangeHandler);
        
        // Grab the data from the old view and persist it
        if (lastAction == ViewNavigatorAction.PUSH || forceDataPersist)

                // persistence is enabled.
                if (canDestroy || clearNavigationStack)
                    destroyViewInstance(navigationStack.topView, !clearNavigationStack);
				else
					deactiveView(activeView);
            }
        }
        
