 			updateRectangle();
 		}
 		
-		private function stageMouseHandler(event : MouseEvent) : void
+		private function stageEventHandler(event : Object) : void
 		{
 			if (!_alwaysOnTop || event.target == this)
 				return ;

				stage.addEventListener(Event.RESIZE, stageResizeHandler);
				stage.addEventListener(Event.ADDED_TO_STAGE, displayObjectAddedToStageHandler);
				stage.addEventListener(Event.REMOVED_FROM_STAGE, displayObjectRemovedFromStageHandler);
				stage.addEventListener(MouseEvent.CLICK, stageMouseHandler);
				stage.addEventListener(MouseEvent.DOUBLE_CLICK, stageMouseHandler);
				stage.addEventListener(MouseEvent.MOUSE_DOWN, stageMouseHandler);
				stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMouseHandler);
				stage.addEventListener(MouseEvent.MOUSE_OUT, stageMouseHandler);
				stage.addEventListener(MouseEvent.MOUSE_OVER, stageMouseHandler);
				stage.addEventListener(MouseEvent.MOUSE_WHEEL, stageMouseHandler);
				stage.addEventListener(MouseEvent.ROLL_OUT, stageMouseHandler);
				stage.addEventListener(MouseEvent.ROLL_OVER, stageMouseHandler);
			}
			else
			{
				stage.removeEventListener(Event.RESIZE, stageResizeHandler);
				stage.removeEventListener(Event.ADDED_TO_STAGE, displayObjectAddedToStageHandler);
				stage.removeEventListener(Event.REMOVED_FROM_STAGE, displayObjectRemovedFromStageHandler);
				stage.removeEventListener(MouseEvent.CLICK, stageMouseHandler);
				stage.removeEventListener(MouseEvent.DOUBLE_CLICK, stageMouseHandler);
				stage.removeEventListener(MouseEvent.MOUSE_DOWN, stageMouseHandler);
				stage.removeEventListener(MouseEvent.MOUSE_MOVE, stageMouseHandler);
				stage.removeEventListener(MouseEvent.MOUSE_OUT, stageMouseHandler);
				stage.removeEventListener(MouseEvent.MOUSE_OVER, stageMouseHandler);
				stage.removeEventListener(MouseEvent.MOUSE_WHEEL, stageMouseHandler);
				stage.removeEventListener(MouseEvent.ROLL_OUT, stageMouseHandler);
				stage.removeEventListener(MouseEvent.ROLL_OVER, stageMouseHandler);
			}
		}
		

	import flash.display3D.Context3DRenderMode;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.events.TouchEvent;
	import flash.geom.Point;
	import flash.utils.Dictionary;
	import flash.utils.getTimer;
