     private weak var containerView: UIView?
     private let leftSide: Bool
     private weak var originalSuperview: UIView?
-    private var presentationController: SideMenuPresentationController!
+    private var presentationController: SideMenuPresentationController?
     private unowned var presentedViewController: UIViewController?
     private unowned var presentingViewController: UIViewController?
     weak var delegate: SideMenuAnimationControllerDelegate?

        // prevent any other menu gestures from firing
        containerView?.isUserInteractionEnabled = false
        if presenting {
            presentationController.presentationTransitionWillBegin()
        } else {
            presentationController.dismissalTransitionWillBegin()
        }
    }

    func transition(presenting: Bool) {
        if presenting {
            presentationController.presentationTransition()
        } else {
            presentationController.dismissalTransition()
        }
    }

    func transitionDidEnd(presenting: Bool, completed: Bool) {
        if presenting {
            presentationController.presentationTransitionDidEnd(completed)
        } else {
            presentationController.dismissalTransitionDidEnd(completed)
        }
        containerView?.isUserInteractionEnabled = true
    }

    }

    func layout() {
        presentationController?.containerViewWillLayoutSubviews()
    }
}

