 	}
 }
 
-
 final class PanGestureRecognizer : UIPanGestureRecognizer {
 
-	var action: ((UIPanGestureRecognizer) -> Void)?
+	var action: ( /* @escaping */ (UIPanGestureRecognizer) -> Void)?
 
 	init() {
 		super.init(target: nil, action: nil)
+		self.maximumNumberOfTouches = 1
 		self.addTarget(self, action: #selector(self.handlePan(_:)))
 	}
 

		if let constraintToDeactivate = self.constraintToDeactivate {
			NSLayoutConstraint.deactivate([constraintToDeactivate])
		}

		return {
			self.containerView.layoutIfNeeded()

					let toViewController = self.context.viewController(forKey: .to)
					let gesture = PanGestureRecognizer()
					self.toView.addGestureRecognizer(gesture)
					gesture.delaysTouchesBegan = true
					gesture.action = { [weak toViewController] in
						if $0.state == .began {
							(toViewController?.parent as? ContainerViewController)?.pop(option: .interactive)
						}
					}
				} else if let gesture = self.gestureInView(forKey: .from) {
					self.fromView.removeGestureRecognizer(gesture)
				}
				self.fromView.removeFromSuperview()
