 		protected function createNewRenderer(newRendererUID:String,rowIndex:Number):DisplayObject{
 			var newRenderer:DisplayObject = rendererPool.getObject() as DisplayObject;
 			newlyCreatedRenderers.push(newRenderer);
-			newRenderer.addEventListener(MouseEvent.CLICK, handleRendererMouseClick);
+			newRenderer.addEventListener(MouseEvent.MOUSE_DOWN, handleRendererMouseDown);
+			newRenderer.addEventListener(MouseEvent.MOUSE_UP, handleRendererMouseUp);
 			contentPane.addChildAt(newRenderer,0);
 			if(newRenderer is MeasurableControl){
 				MeasurableControl(newRenderer).doOnAdded();

			}
		}
		
		/**
		 * Function invoked when an itemRenderer is clicked
		 */ 
		protected function handleRendererMouseClick(event:MouseEvent):void{
			for (var uid:String in visibleRenderersMap){
				if(visibleRenderersMap[uid] == event.currentTarget){
					//_selectedItem = rendererData;

	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.utils.Dictionary;
	import flash.utils.Timer;
	
	import org.openPyro.collections.CollectionHelpers;
	import org.openPyro.collections.ICollection;
