             case Keyboard.UP:
             case Keyboard.RIGHT:
             {
-				newValue = nearestValidValue(pendingValue + stepSize, snapInterval);
-				
-				if (prevValue != newValue)
-				{
-					if (!isKeyDown)
-					{
-						dispatchEvent(new FlexEvent(FlexEvent.CHANGING));
-						isKeyDown = true;
-					}
-                	setValue(newValue);
-				}
+                newValue = nearestValidValue(pendingValue + stepSize, snapInterval);
+                
+                if (prevValue != newValue)
+                {
+                    if (!isKeyDown)
+                    {
+                        dispatchEvent(new FlexEvent(FlexEvent.CHANGE_START));
+                        isKeyDown = true;
+                    }
+                    setValue(newValue);
+                    dispatchEvent(new Event(Event.CHANGE));
+                }
                 event.preventDefault();
                 break;
             }

    //  dataTipformatFunction
    //---------------------------------

	/**
	 *  @private
	 */
    private var _dataTipFormatFunction:Function;
    
    /**

     */
    override protected function thumb_mouseDownHandler(event:MouseEvent):void
    {
        // finish previous animation
        if (animator && animator.isPlaying)
            stopAnimation();
        
        super.thumb_mouseDownHandler(event);
        clickOffset = thumb.globalToLocal(new Point(event.stageX, event.stageY));
                
        // Popup a dataTip only if we have a SkinPart and the boolean flag is true
        if (dataTip && showDataTip && enabled)
        {
            dataTipInstance = IDataRenderer(createDynamicPartInstance("dataTip"));
            
            dataTipInstance.data = formatDataTipText(
                nearestValidValue(pendingValue, snapInterval));
            
            var tipAsUIComponent:UIComponent = dataTipInstance as UIComponent;
            
            // Allow styles to be inherited from Slider.
            if (tipAsUIComponent)
            {
                tipAsUIComponent.owner = this;
                tipAsUIComponent.isPopUp = true;
            }

            systemManager.toolTipChildren.addChild(DisplayObject(dataTipInstance));
            
            // Force the dataTip to render so that we have the correct size since
            // updateDataTip might need the size
            if (tipAsUIComponent)
