 
 public class CellAnimator {
     
-    public static let TransformTipIn = { (layer: CALayer) -> CATransform3D in
+    public enum AnimationType: Int {
+        case TipIn = 0
+        case Curl
+        case Fan
+        case Flip
+        case Helix
+        case Tilt
+        case Wave
+        case count
+    }
+    
+    private static let transformTipIn = { (layer: CALayer) -> CATransform3D in
         let rotationDegrees: CGFloat = -15.0
         let rotationRadians: CGFloat = rotationDegrees * (CGFloat(Double.pi)/180.0)
         let offset = CGPoint(x: -20, y: -20)

        return transform
    }
    
    public static let TransformHelix = { (layer: CALayer) -> CATransform3D in
        var transform = CATransform3DIdentity
        transform = CATransform3DTranslate(transform, 0.0, layer.bounds.size.height/2.0, 0.0)
        transform = CATransform3DRotate(transform, CGFloat(Double.pi), 0.0, 1.0, 0.0)

        return transform
    }
    
    private static let transformFlip = { (layer: CALayer) -> CATransform3D in
        var transform = CATransform3DIdentity
        transform = CATransform3DTranslate(transform, 0.0, layer.bounds.size.height/2.0, 0.0)
        transform = CATransform3DRotate(transform, CGFloat(Double.pi)/2.0, 1.0, 0.0, 0.0)
