         case presentation
         case dismissal
     }
-    fileprivate var draggingState: DraggingState = .default
-    fileprivate var animationMode: AnimationMode = .presentation
-    fileprivate var isSwiping = false
-    fileprivate var dismissed = false
     
     public init(with modalViewController: UIViewController) {
         self.modalViewController = modalViewController

        self.gestureRecognizerProxy = gestureRecognizerProxy
    }

    fileprivate func removeGestureRecognizerFromModalViewController() {
        guard let gestureRecognizerProxy = gestureRecognizerProxy else { return }
        guard let gestureRecognizers = modalViewController.view.gestureRecognizers else { return }
        guard gestureRecognizers.contains(gestureRecognizerProxy) else { return }
        
        modalViewController.view.removeGestureRecognizer(gestureRecognizerProxy)
        self.gestureRecognizerProxy = nil
    }
    
    internal func handlePanGesture(recognizer: UIPanGestureRecognizer) {
        isSwiping = true
        
        let location = recognizer.location(in: modalViewController.view.window)

            height: fromViewController.view.bounds.height
        )
        UIView.animate(
            withDuration: TimeInterval(transitionDuration),
            delay: 0,
            usingSpringWithDamping: 0.8,
            initialSpringVelocity: 0.1,
