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

        if (currentSection && currentSection.length == 0)
            currentSection.push(currentSection.firstView, currentSection.firstViewData);
        
        return true;
    }
    

        }
    }
    
    public function popView(transition:IViewTransition = null):void
    {
        if (currentSection.length == 0 || !canRemoveCurrentView())
            return;
        
        lastAction = POP_ACTION;
        
        pendingViewTransition = transition;
        if (pendingViewTransition == null && useDefaultTransitions)
            pendingViewTransition = defaultPopTransition;
        
        currentSection.pop();
        
