 			_step = value;
 		}
 				
-		public function FirstPersonCameraController()
+		public function FirstPersonCameraController(stage : Stage)
 		{
-			super ();
+			_stage = stage;
 		}
 
 		public function bindDefaultControls(dispatcher : IEventDispatcher) : FirstPersonCameraController

	public class FirstPersonCameraController extends AbstractScriptController
	{
		private static const TMP_MATRIX 	: Matrix4x4 = new Matrix4x4();

		private var _ghostMode				: Boolean	= true;
		private var _rotation				: Vector4	= new Vector4();

			
			_update = true;
		}

		private function mouseMoveHandler(event : MouseEvent) : void
		{
			if (event.buttonDown)
			{
				if (_stage && _stage.mouseLock)
				{
					_rotation.y += event.movementX * .005;
					_rotation.x += -event.movementY * .005;
				}
				else
				{
					_rotation.y += -(_mousePosition.x - event.stageX) * .005;
					_rotation.x += (_mousePosition.y - event.stageY) * .005;
				}
				
				_update = true;
			}
