     override protected function attachSkin():void
     {
         super.attachSkin();
+        
+        if (getStyle("interactionMode") != InteractionMode.TOUCH)
+        {
+            // TODO (egeorgie): support deferred scrollbar parts in non-touch mode
+            // In case we're not in touch mode, we need to instantiate our deferred skin parts immediately
+            ensureDeferredHScrollBarCreated();
+            ensureDeferredVScrollBarCreated();
+        }
+        
         Group(skin).layout = new ScrollerLayout();
         installViewport();
         skin.addEventListener(MouseEvent.MOUSE_WHEEL, skin_mouseWheelHandler);

    
    /**
     *  @private
     *  Property used to communicate with ScrollerLayout to let it 
     *  know when a horizontal scroll is in progress or not (and when 
     *  the horizontal scroll bar should be hidden or not)
     */
    mx_internal var horizontalScrollInProgress:Boolean = false;
    
    /**
     *  @private
     *  Property used to communicate with ScrollerLayout to let it 
     *  know when a vertical scroll is in progress or not (and when 
     *  the vertical scroll bar should be hidden or not)
     */
    mx_internal var verticalScrollInProgress:Boolean = false;
    
    /**
     *  @private
     *  Threshold for screen distance they must move to count as a scroll
     *  Based on 20 pixels on a 252ppi device.
     */


import mx.core.EventPriority;
import mx.core.FlexGlobals;
import mx.core.IFactory;
import mx.core.IInvalidating;
import mx.core.IVisualElement;
import mx.core.IVisualElementContainer;
