       return
     }
     
-    viewControllers = [UITransitionContextViewControllerKey.from.rawValue: unwrappedFromViewController,
-                       UITransitionContextViewControllerKey.to.rawValue: toViewController]
-    views = [UITransitionContextViewKey.from.rawValue: unwrappedFromViewController.view,
-             UITransitionContextViewKey.to.rawValue: toViewController.view]
+    viewControllers = [UITransitionContextViewControllerKey.from: unwrappedFromViewController,
+                       UITransitionContextViewControllerKey.to: toViewController]
+    views = [UITransitionContextViewKey.from: unwrappedFromViewController.view,
+             UITransitionContextViewKey.to: toViewController.view]
   }
   
   open func animate() {

 
  
  public func viewController(forKey key: UITransitionContextViewControllerKey) -> UIViewController? {
    return viewControllers?[key.rawValue]
  }
  
  public func view(forKey key: UITransitionContextViewKey) -> UIView? {
    return views?[key.rawValue]
  }

  
  public func completeTransition(_ didComplete: Bool) {
    viewControllers?[UITransitionContextViewControllerKey.from.rawValue]?.view.removeFromSuperview()
    viewControllers?[UITransitionContextViewControllerKey.from.rawValue]?.removeFromParentViewController()
    viewControllers?[UITransitionContextViewControllerKey.to.rawValue]?.didMove(toParentViewController: parentViewController)
    parentViewController?.view.isUserInteractionEnabled = true
    completion?()
  }

  
  fileprivate let container: UIView?
  fileprivate let parentViewController: UIViewController?
  fileprivate var viewControllers: [UITransitionContextViewControllerKey: UIViewController]? = nil
  fileprivate var views: [UITransitionContextViewKey: UIView]? = nil
  fileprivate let completion: ContainerTransitionCompletion?
  
  // MARK: Life cycle
