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

        super.init(coder: aDecoder)
        setup()
        setNeedsLayout()
    }
    
    override public func layoutSubviews() {

                dynamicButtonAnimator.addBehavior(snappingBehavior)
                isCurrentDraggingSlider = false
                lastDelegateFireOffset = center.x
                valueChangingTimer?.invalidate()
                
            case .Possible:

                // Swift requires at least one statement per case
                let x = 0
            }
        }
    }
    
    final func handleTimer(sender: NSTimer) {
    
        if CGRectGetMidX(sliderView.frame) > CGRectGetMidX(self.bounds) {
            
            delegate?.snappingSliderDidIncrementValue(self)
        }
        else {
            
            delegate?.snappingSliderDidDecrementValue(self)
        }

    }
}

