             _to   = isIn ? originalCenter : CGPoint(x: originalCenter.x, y: screenHeight+self.center.y)
         case .none:
             // No animation just simple display or hide view.
+            self.alpha = isIn ? 1 : 0
             self.isHidden = !isIn
         }
         

        }
        
        // Animate the view.
        self.animate(for: duration, fromCenter: from, toCenter: to, options: animationOptions, isIn: isIn)
    }
}

//public class SimpleAnimation {
//    
//    /// Animates a view using center.
//    ///
//    /// - Parameters:
//    ///   - view: The view you would like to animate.
//    ///   - duration: The duration of the animation.
//    ///   - fromCenter: The point you want to animate the view from.
//    ///   - toCenter: The point you want to animate the view to
//    ///   - options: Animation options like curveEaseIn
//    ///   - isIn: Whether the animation is a in or out. Basically at end of animation should the view be hidden or displayed.
//    public static func animate(_ view: UIView, for duration: TimeInterval, fromCenter: CGPoint, toCenter: CGPoint, options: UIViewAnimationOptions, isIn: Bool) {
//        let originalCenter = view.center;
//        view.center = fromCenter
//        view.alpha = 1
//        
//        UIView.animate(withDuration: duration, delay: 0.0, options: options, animations: {
//            view.center = toCenter
//        }, completion: { (completed) in
//            view.isHidden = !isIn
//            view.center = originalCenter
//        })
//    }
//    
//}

        let isIn = state == .in
        // TODO: Possibly allow this to be set from delegate.
        let animationOptions = (isIn ? UIViewAnimationOptions.curveEaseIn : UIViewAnimationOptions.curveEaseOut)

        // Screen Dimensions
        let screenWidth = UIScreen.main.bounds.width
        let screenHeight = UIScreen.main.bounds.height
