                 animatingView.alpha = 0
             }
 
-        }, completion: { (finished) -> Void in
+        }, completion: { [unowned self] _ in
 
             if !self.isPresentation {
                 fromView?.removeFromSuperview()

            transitionContext.completeTransition(true)
        })
    }

}

    // MARK: UIViewControllerTransitioningDelegate

    func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -> UIViewControllerAnimatedTransitioning? {

        isPresentation = true

        return self
    }

    func animationControllerForDismissedController(dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? {

        isPresentation = false

        return self
