 		private var _deltaTime		    : Number;
 		private var _currentTarget	    : ISceneNode;
 		private var _viewport		    : Viewport;
-        
+
         private var _targetsListLocked  : Boolean;
         private var _targetsToAdd       : Vector.<ISceneNode>;
         private var _targetsToRemove    : Vector.<ISceneNode>;
-		
+
 		private var _updateRate			: Number;
-		
+
         protected function get scene() : Scene
         {
             return _scene;
         }
-		
+
 		protected function get time() : Number
 		{
 			return _time;
 		}
-        
+
 		protected function get deltaTime() : Number
 		{
 			return _deltaTime;
 		}
-		
+
 		protected function get keyboard() : KeyboardManager
 		{
 			return _viewport.keyboardManager;
 		}
-		
+
 		protected function get mouse() : MouseManager
 		{
 			return _viewport.mouseManager;
 		}
-		
+
 		protected function get viewport() : Viewport
 		{
 			return _viewport;
 		}
-		
+
 		protected function get updateRate() : Number
 		{
 			return _updateRate;

                    addTarget(_targetsToAdd[i]);
                _targetsToAdd = null;
            }
            
            if (_targetsToRemove)
            {
                var numTargetsToRemove : uint = _targetsToRemove.length;

		{
			_updateRate = value;
		}

		public function AbstractScriptController(targetType	: Class = null)
		{
			super(targetType);

            initialize();
		}

        protected function initialize() : void
        {
            _started = new Dictionary(true);
        }

		override protected function targetAddedToScene(target	: ISceneNode,
													   scene	: Scene) : void
		{
            super.targetAddedToScene(target, scene);

            if (_scene && scene != _scene)
                throw new Error(
                    'The same ScriptController instance can not be used in more than one scene ' +
                    'at a time.'
                );

			if (!_started[target])
			{
				_started[target] = true;
				start(target);
			}

			_scene = scene;
        }

		override protected function targetRemovedFromScene(target 	: ISceneNode,
														   scene 	: Scene) : void
        {
            super.targetRemovedFromScene(target, scene);

			if (getNumTargetsInScene(scene))
				_scene = null;

			if (_started[target])
			{
				_started[target] = false;
				stop(target);
			}
        }

		override protected function sceneEnterFrameHandler(scene		: Scene,
														   viewport		: Viewport,
														   destination	: BitmapData,
