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

    }
}

class ZoomOutAnimator: ZoomAnimator { }

extension ZoomOutAnimator: UIViewControllerAnimatedTransitioning {

    func transitionDuration(using transitionContext: UIViewControllerContextTransitioning?) -> TimeInterval {
        return 0.25
    }

    func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
        let toViewController: UIViewController = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.to)!

        guard let fromViewController = transitionContext.viewController(forKey: UITransitionContextViewControllerKey.from) as? FullScreenSlideshowViewController else {
            return
        }

        let containerView = transitionContext.containerView

            transitionContext.completeTransition(completed)
        }

        return (duration, animations, completion)
    }

    func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
        // Working around iOS 10+ breaking change requiring to use UIPropertyAnimator for proper interactive transition instead of UIView.animate
        if #available(iOS 10.0, *) {
            animatorForCurrentTransition?.startAnimation()
        } else {
            let params = animationParams(using: transitionContext)
            UIView.animate(withDuration: params.0, delay: 0, options: UIViewAnimationOptions(), animations: params.1, completion: params.2)
        }
    }
}
