 	}
 }
 
-//extension TransitionAnimator: Equatable {
-//	public static func ==(lhs: TransitionAnimator, rhs: TransitionAnimator) -> Bool {
-//		return lhs.style == rhs.style && lhs.presentFrom == rhs.presentFrom && lhs.dismissTo == rhs.dismissTo
-//	}
-//}
-
 extension TransitionAnimator {
 	func transitionIn(direction: TransitionPosition, from originVC: UIViewController, to popupVC: UIViewController, transitionContext: UIViewControllerContextTransitioning) {
 		transitionContext.containerView.addSubview(originVC.view)

		popupVC.view.frame = startFrame
		
		
		let blurView = style.generateView()
		blurView.frame = popupVC.view.bounds
		blurView.alpha = 0
		

enum TransitionStyle {
	case black(CGFloat)
	case blur(UIBlurEffectStyle)
}

class BackgroundViewFactory {
	class func backgroundView(with transitionStyle: TransitionStyle) -> UIView {
		switch transitionStyle {
		case .black(let alpha):
			let view = UIView()
			view.backgroundColor = UIColor(white: 0, alpha: CGFloat(alpha))
