 														   target	: BitmapData,
 														   time		: Number) : void
 		{
-			if (time - _lastDraw > 1000. / _framerate)
+			if (!_lastDraw || time - _lastDraw > 1000. / _framerate)
 			{
 				_lastDraw = time;
 				
 				_bitmapData ||= new BitmapData(_source.width, _source.height);
 				if (_forceBitmapDataClear)
-				{
-					_bitmapData.fillRect(new Rectangle(0, 0, _bitmapData.width, _bitmapData.height), 0);
-				}
+					_bitmapData.fillRect(
+                        new Rectangle(0, 0, _bitmapData.width, _bitmapData.height),
+                        0
+                    );
+                
 				_bitmapData.draw(_source, _matrix);
 				
 				_texture.setContentFromBitmapData(_bitmapData, _mipMapping);

		{
			super.targetAddedHandler(ctrl, target);
			
//			(target as Mesh).properties.setProperty(_propertyName, _texture);
			if (target is Scene)
				(target as Scene).bindings.addProvider(_data);
			else if (target is Mesh)

		{
			super.targetRemovedHandler(ctrl, target);
			
			if (target is Scene)
				(target as Scene).bindings.removeProvider(_data);
			else if (target is Mesh)
