         }
     }
     
-    public function popView(transition:ViewTransition = null):void
+    public function popView(transition:IViewTransition = null):void
     {
         if (currentSection.length == 0 || !canRemoveCurrentView())
             return;
         
         lastAction = POP_ACTION;
-        pendingViewTransition = transition ? transition : 
-            new SlideViewTransition(400, SlideViewTransition.SLIDE_RIGHT);
+        
+        pendingViewTransition = transition;
+        if (pendingViewTransition == null && useDefaultTransitions)
+            pendingViewTransition = defaultPopTransition;
         
         currentSection.pop();
         

        }
    }
    
    public function popToRoot(transition:ViewTransition = null):void
    {
        if (currentSection.length < 2 || !canRemoveCurrentView())
            return;
        
        lastAction = POP_ACTION;
        pendingViewTransition = transition ? transition : 
            new SlideViewTransition(400, SlideViewTransition.SLIDE_RIGHT);
        
        currentSection.popToRoot();
        
        if (viewChanging)
        {

    
    public function pushView(viewFactory:Class, 
                             initializationData:Object = null,
                             transition:IViewTransition = null):void
    {
        if (!canRemoveCurrentView())
            return;
        
        lastAction = PUSH_ACTION;
        
        pendingViewTransition = transition;
        if (pendingViewTransition == null && useDefaultTransitions)
            pendingViewTransition = defaultPushTransition;
        
        currentSection.push(viewFactory, initializationData);
        currentViewChanged = true;
