 	import aerys.minko.scene.node.Camera;
 	import aerys.minko.scene.node.Scene;
 	import aerys.minko.type.data.DataBindings;
+	import aerys.minko.type.data.IDataProvider;
 	import aerys.minko.type.math.Matrix4x4;
-	import aerys.minko.type.math.Vector4;
 	
 	public final class CameraController extends AbstractController
 	{

			sceneBindings.removeProvider(camera.cameraData);
			sceneBindings.removeCallback('viewportWidth', viewportSizeChanged);
			sceneBindings.removeCallback('viewportHeight', viewportSizeChanged);
		}
		
		private function worldToLocalChangedHandler(worldToLocal : Matrix4x4, propertyName : String) : void

			sceneBindings.addProvider(camera.cameraData);
			sceneBindings.addCallback('viewportWidth', viewportSizeChanged);
			sceneBindings.addCallback('viewportHeight', viewportSizeChanged);
			camera.cameraData.changed.add(cameraPropertyChangedHandler);
			
			updateProjection();
		}
