 		
 		public function bindDefaultControls(dispatcher : IEventDispatcher) : void
 		{
-			dispatcher.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-			dispatcher.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
 			dispatcher.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
 			dispatcher.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
 		}
 		
 		public function unbindDefaultControls(dispatcher : IEventDispatcher) : void
 		{
-			dispatcher.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
-			dispatcher.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
 			dispatcher.removeEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
 			dispatcher.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
 		}

														   destination	: BitmapData,
														   time			: Number) : void
		{
			if (_update)
			{
				_distance	< _minDistance	&& (_distance = _minDistance);
				_distance	> _maxDistance	&& (_distance = _maxDistance);

	{
		private static const TMP_MATRIX : Matrix4x4 = new Matrix4x4();
		
		protected var _mousePosition	: Point		= new Point();
		
		private var _distance			: Number	= 0;
		private var _theta				: Number	= 0;
		private var _phi				: Number	= 0;
		private var _update				: Boolean	= true;
		
		private var _position			: Vector4	= new Vector4(0, 0, 0, 1);
		private var _lookAt				: Vector4	= new Vector4(0, 0, 0, 1);
		private var _up					: Vector4	= new Vector4(0, 1, 0, 1);
		
		private var _minDistance		: Number	= 0.1;
		private var _maxDistance		: Number	= 1000;
		
		private var _distanceStep		: Number	= 1;
		private var _thetaStep			: Number	= 0.01;
		private var _phiStep			: Number	= 0.01;
		
		public function get distance()		: Number	{ return _distance;		}
		public function get theta()			: Number	{ return _theta;		}
