 			return _viewport;
 		}
 		
-		protected function get scene() : Scene
-		{
-			return _scene;
-		}
-		
 		public function ScriptController(targetType	: Class = null)
 		{
 			super(targetType);
 			
-			initialize();
-		}
-		
-		private function initialize() : void
-		{
 			var numTargets : uint = this.numTargets;
 			
 			for (var i : uint = 0; i < numTargets; ++i)
-				start(getTarget(i));
+				initialize(getTarget(i));
 		}
-		
+        
 		override protected function sceneEnterFrameHandler(scene		: Scene,
 														   viewport		: Viewport,
 														   destination	: BitmapData,

			_viewport = viewport;
			_deltaTime = _lastTime - time;
			_lastTime = time;
			_scene = scene;
			
			var numTargets : uint = this.numTargets;
			
			for (var i : uint = 0; i < numTargets; ++i)
				update(getTarget(i));
		}
		
		override protected function targetRemovedFromSceneHandler(target	: ISceneNode,
																  scene		: Scene) : void

		private var _deltaTime		: Number;
		private var _currentTarget	: ISceneNode;
		private var _viewport		: Viewport;
		
		protected function get deltaTime() : Number
		{
