      */
     private function animationEndHandler(animation:Animation):void
     {
-        selected = positionToSelected(slideToPosition);
+        setSelected(positionToSelected(slideToPosition));
     }
     
 }

        {
            // we are either at the destination position, 
            // or we should update immediately
            selected = positionToSelected(newPosition);
        }
    }
    

            
            animateToPosition(animator, thumbPosition, newPosition, MouseDragUtil.MAX_UPDATE_RATE);
        } 
    }
    
    /**
     *  When the selection is changed by user interactions, fire a change event
     *  when appropriate.
     */
    private function setSelected(value:Boolean):void
    {
        var valueChanged:Boolean = value != selected;
        selected = value;
        if (valueChanged)
            dispatchEvent(new Event(Event.CHANGE));
    }
    
    /**
