         super.drawRect(rect)
         
         // Bounds - Edge Insets
-        var innerFrame = UIEdgeInsetsInsetRect(bounds, edgeInsets)
+        let innerFrame = UIEdgeInsetsInsetRect(bounds, edgeInsets)
         
         // Draw border
         if cornerRadius >= 0 {

    private func updateForTouch (touch: UITouch, modifyHue: Bool) {
        if modifyHue {
            // Modify the hue at constant lightness
            var locationInView = touch.locationInView(self)
            hue = 1 - (locationInView.y / frame.height)
            lightness = 0.5
        } else {
            // Modify the lightness for the current hue
            var locationInSuperview = touch.locationInView(self.superview)
            lightness = 1 - (locationInSuperview.y / superview!.frame.height)
        }
    }

        return true
    }
    
    public override func endTrackingWithTouch(touch: UITouch?, withEvent event: UIEvent?) {
        super.endTrackingWithTouch(touch, withEvent: event)
		
		guard let endTouch = touch else { return }
        updateForTouch(endTouch, modifyHue: touchInside)
		sendActionsForControlEvents(touchInside ? .TouchUpInside : .TouchUpOutside)
    }
    
    public override func cancelTrackingWithEvent(event: UIEvent?) {
