         }
     }
     
-    override func cancelTrackingWithEvent(event: UIEvent) {
+    override func cancelTrackingWithEvent(event: UIEvent?) {
         super.cancelTrackingWithEvent(event)
         
         // just animate back to the original value

        return true
    }
    
    override func continueTrackingWithTouch(touch: UITouch!, withEvent event: UIEvent!) -> Bool {
        super.continueTrackingWithTouch(touch, withEvent: event)
        
        // Get touch location

        return true
    }
    
    override func endTrackingWithTouch(touch: UITouch, withEvent event: UIEvent) {
        super.endTrackingWithTouch(touch, withEvent: event)

        let previousValue = self.on
