      */
     override protected function get trackSize():Number
     {
-        if (track)
-        {
-            var trackLItem:ILayoutItem = 
-                LayoutItemFactory.getLayoutItemFor(track);
-            return trackLItem.actualSize.x;
-        }
-        else
-           return 0;
+        return track ? LayoutElementFactory.getLayoutElementFor(track).getLayoutWidth() : 0;
     }
 
     /**

    {
        if (thumb)
        {
            var thumbLItem:ILayoutItem = 
                LayoutItemFactory.getLayoutItemFor(thumb);

            var trackLItem:ILayoutItem = 
                LayoutItemFactory.getLayoutItemFor(track);
            var trackPos:Number = trackLItem.actualPosition.x;

            thumbLItem.setActualPosition(Math.round(trackPos + thumbPos),
                                         thumbLItem.actualPosition.y);
        }
    }
    

	        var r:Point = localToGlobal(o);        
			r = tipAsDisplayObject.parent.globalToLocal(r);
			
			// TODO (jszeto) Change to use ILayoutElement.setLayoutPosition?
        	tipAsDisplayObject.x = Math.floor(r.x < 0 ? 0 : r.x);
        	tipAsDisplayObject.y = Math.floor(r.y < 0 ? 0 : r.y);
    	}
