                     }
                 }
                 
+                if shouldContinueAlteringValueUntilGestureCancels {
+                    
+                    valueChangingTimer = NSTimer.scheduledTimerWithTimeInterval(0.7, target: self, selector: NSSelectorFromString("handleTimer:"), userInfo: nil, repeats: true)
+                }
+                
             case .Ended:
 
                 fallthrough

                dynamicButtonAnimator.addBehavior(snappingBehavior)
                isCurrentDraggingSlider = false
                lastDelegateFireOffset = center.x

            case .Possible:

                // Swift requires at least one statement per case
                let x = 0
            }
        }
        
    }

    private func setup() {
        sliderContainer.backgroundColor = backgroundColor

        minusLabel.text = "-"
        minusLabel.textAlignment = NSTextAlignment.Center
        sliderContainer.addSubview(minusLabel)

        plusLabel.text = "+"
        plusLabel.textAlignment = NSTextAlignment.Center
        sliderContainer.addSubview(plusLabel)

        sliderContainer.addSubview(sliderView)

        sliderViewLabel.userInteractionEnabled = false
        sliderViewLabel.textAlignment = NSTextAlignment.Center
        sliderViewLabel.textColor = sliderTitleColor
        sliderView.addSubview(sliderViewLabel)

        sliderPanGestureRecogniser.addTarget(self, action: NSSelectorFromString("handleGesture:"))
        sliderView.addGestureRecognizer(sliderPanGestureRecogniser)

        sliderContainer.center = CGPointMake(bounds.size.width * 0.5, bounds.size.height * 0.5)
        addSubview(sliderContainer)
        clipsToBounds = true
    }
}


            setNeedsLayout()
        }
    }
    final public var sliderCornerRadius:CGFloat = 3.0 {
        didSet {
            setNeedsLayout()
        }
    }
    
    
    final private let sliderContainer = UIView(frame: CGRectZero)
    final private let minusLabel = UILabel(frame: CGRectZero)
