         }
     }
     
-    private var mouseDownSelectTimer:Timer;
-    
-    private function selectMouseDownItemAfterDelay(delay:Number):void
-    {
-        mouseDownSelectTimer = new Timer(delay, 1);
+    /**
+     *  @private
+     *  Starts timer to select the button
+     */
+    private function startSelectButtonAfterDelayTimer():void
+    {
+        mouseDownSelectTimer = new Timer(DELAY_TO_SHOW_SELECTION_IN_TOUCH_MODE, 1);
         mouseDownSelectTimer.addEventListener(TimerEvent.TIMER_COMPLETE, mouseDownSelectTimer_timerCompleteHandler);
         mouseDownSelectTimer.start();
     }
     
-    private function mouseDownSelectTimer_timerCompleteHandler(event:TimerEvent):void
-    {
-        if (mouseDownIndex != -1)
-        {
-            // select item visually now
-            itemSelected(mouseDownIndex, true);
-            
-            // deselect old selected item
-            if (selectedIndex != NO_SELECTION)
-            {
-                itemSelected(selectedIndex, false);
-            }
-        }
-    }
-
+    /**
+     *  @private
+     */
+    private function stopSelectButtonAfterDelayTimer():void
+    {
+        if (mouseDownSelectTimer)
+        {
+            mouseDownSelectTimer.stop();
+            mouseDownSelectTimer = null;
+        }
+    }
+    
     /**
      *  @private
      *  Handles <code>MouseEvent.MOUSE_MOVE</code> events from any mouse

            ensureIndexIsVisible(proposedNewIndex); 
        }
        // Entering the caret state with the Ctrl key down 
        else if (event.ctrlKey)
        {
            var oldCaretIndex:Number = caretIndex; 
            setCurrentCaretIndex(proposedNewIndex);
            var e:IndexChangeEvent = new IndexChangeEvent(IndexChangeEvent.CARET_CHANGE); 
            e.oldIndex = oldCaretIndex; 
            e.newIndex = caretIndex; 
            dispatchEvent(e);    
            ensureIndexIsVisible(proposedNewIndex); 
        }
        // Its just a new selection action, select the new index.

     *  Placeholder for mixin by ListAccImpl.
     */
    mx_internal static var createAccessibilityImplementation:Function;
    
    // FIXME (rfrishbe): should be style
    private static const DELAY_TO_SHOW_SELECTION_IN_TOUCH_MODE:int = 150;

    //--------------------------------------------------------------------------
    //
