 }
 
 @objcMembers
-class ZoomInAnimator: ZoomAnimator { }
-
-extension ZoomInAnimator: UIViewControllerAnimatedTransitioning {
+class ZoomInAnimator: ZoomAnimator, UIViewControllerAnimatedTransitioning {
 
     func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
         return 0.5

            transitionContext.completeTransition(completed)
        }

        // Working around iOS 10 bug in UIView.animate causing a glitch in interrupted interactive transition 
        if #available(iOS 10.0, *) {
            UIViewPropertyAnimator.runningPropertyAnimator(withDuration: duration, delay: 0, options: UIViewAnimationOptions(), animations: animations, completion: completion)
        } else {
            UIView.animate(withDuration: duration, delay: 0, options: UIViewAnimationOptions(), animations: animations, completion: completion)
        }
    }
}

                }

                interactionController?.finish()
            } else {
                interactionController?.cancel()
            }
