      typically the presented view controller’s view but may also be an ancestor of that view.
     */
     public var toView: UIView! {
-        return self.view(forKey: .to)
+        return self.view(forKey: .to) ?? toViewController.view
     }
 }
 

     of a canceled transition). This view is typically the presenting view controller’s view.
    */
    public var fromView: UIView! {
        return self.view(forKey: .from)
    }
    
    /**

        This installs the to and from view when necessary, based on the operation.
        It returns the top-most view which is either the fromView or toView.
     */
    @discardableResult public func defaultViewSetup(for operation: TransitionOperation) -> UIView? {
        switch operation {
        case .navigation(let navigationOperation):  return defaultViewSetup(for: navigationOperation)
        case .modal(let modalOperation):            return defaultViewSetup(for: modalOperation)
