         sublabel.layer.removeAllAnimations()
     }
     
+    // Define animation completion closure type
+    private typealias MLAnimationCompletion = (finished: Bool) -> ()
     
     private func scroll(interval: CGFloat,
         delay: CGFloat = 0.0,

                self.layer.mask?.removeAnimationForKey("setupFade")
            }
        } else {
            let completion = anim.valueForKey(MarqueeKeys.CompletionClosure.rawValue) as? CompletionBlock<(Bool) -> ()>
            completion?.f(flag)
        }
    }
    

            self.layer.mask?.addAnimation(gradientAnimation, forKey: "gradient")
        }
        
        let completion = CompletionBlock<MLAnimationCompletion>({ (finished: Bool) -> () in
            if !finished {
                // Do not continue into the next loop
                return
