             // If we're animating stepping, end on a final real step call in the
             // appropriate direction, ensuring that we stop on a content 
             // item boundary 
-            step(steppingDown);
+            changeValueByStep(steppingDown);
             steppingUp = steppingDown = false;
             animator.startDelay = 0;
         }

    
    /**
     *  @private
     */
    override protected function commitProperties():void
    {

        if (animatingSinglePage)
            animator.end();
        
        // Cache original event location for use on later repeating events
        trackPosition = track.globalToLocal(new Point(event.stageX, event.stageY));
        
        // If the user shift-clicks on the track, then offset the event coordinates so 
        // that the thumb ends up centered under the mouse.
        if (event.shiftKey)
        {
            var thumbW:Number = (thumb) ? thumb.getLayoutBoundsWidth() : 0;
            var thumbH:Number = (thumb) ? thumb.getLayoutBoundsHeight() : 0;
            trackPosition.x -= (thumbW / 2);
            trackPosition.y -= (thumbH / 2);        
        }

        var newScrollValue:Number = pointToValue(trackPosition.x, trackPosition.y);
        trackScrollDown = (newScrollValue > value);
        
        if (event.shiftKey)
        {
            // shift-click positions jumps to the clicked location instead
            // of incrementally paging
            var slideDuration:Number = getStyle("slideDuration");
            var adjustedValue:Number = nearestValidValue(newScrollValue, snapInterval);
            if (getStyle("smoothScrolling") && 
                slideDuration != 0 && 
                (maximum - minimum) != 0)
