         return toViewController?.view
     }
     
+    /// A reference to the MotionContext.
+    public internal(set) var context: MotionContext!
+    
     /// An Array of observers that are updated during a transition.
     internal var transitionObservers: [MotionTargetStateObserver]?
     
     /// Max duration used by MotionAnimators and MotionPlugins.
     public internal(set) var totalDuration: TimeInterval = 0
-    
-    /**
-     A UIViewControllerContextTransitioning object provided by UIKit, which
-     might be nil when isTransitioning. This happens when calling motionReplaceViewController
-     */
-    internal weak var transitionContext: UIViewControllerContextTransitioning?
-    
-    /// A reference to the MotionContext.
-    public internal(set) var context: MotionContext!
-    
-    /// A reference to a fullscreen snapshot.
-    internal var fullScreenSnapshot: UIView?
     
     /// Progress of the current transition. 0 if no transition is happening.
     public internal(set) var progress: TimeInterval = 0 {

    /// An optional completion callback.
    internal var completionCallback: ((Bool) -> Void)?
    
    /// A boolean indicating if the transition has finished.
    internal var isFinishing = true
    
    /// An Array of MotionPreprocessors used during a transition.
    internal lazy var preprocessors = [MotionPreprocessor]()
    

    }()
    
    /**
     A UIViewControllerContextTransitioning object provided by UIKit, which
     might be nil when isTransitioning. This happens when calling motionReplaceViewController
     */
    internal weak var transitionContext: UIViewControllerContextTransitioning?
    
    /// A reference to a fullscreen snapshot.
    internal var fullScreenSnapshot: UIView?
    
    /**
     By default, Motion will always appear to be interactive to UIKit. This forces it to appear non-interactive.
     Used when doing a motionReplaceViewController within a UINavigationController, to fix a bug with
     UINavigationController.setViewControllers not able to handle interactive transitions.
