         }
     }
     
-    public var animationCurve: UIViewAnimationOptions = UIViewAnimationOptions.CurveLinear {
-        didSet {
-            // TODO: implement this
-        }
-    }
+    public var animationCurve: UIViewAnimationCurve = .Linear
     
     public var labelize: Bool = false {
         didSet {

        return animation
    }
    
    private func timingFunctionForAnimationOptions(options: UIViewAnimationOptions) -> CAMediaTimingFunction {
        var timingFunction: NSString? = nil
        
        switch options {
        case UIViewAnimationOptions.CurveEaseIn:
            timingFunction = kCAMediaTimingFunctionEaseIn
        case UIViewAnimationOptions.CurveEaseInOut:
            timingFunction = kCAMediaTimingFunctionEaseInEaseOut
        case UIViewAnimationOptions.CurveEaseOut:
            timingFunction = kCAMediaTimingFunctionEaseOut
        default:
            timingFunction = kCAMediaTimingFunctionLinear

        let animation = CAKeyframeAnimation(keyPath: property)
        
        // Get timing function
        let timingFunction = timingFunctionForAnimationCurve(animationCurve)
        
        // Calculate times based on marqueeType
        var totalDuration: NSTimeInterval = 0.0
