 			_properties.length = numProperties;
 			
 			delete _values[propertyName];
+			delete _propertyToProvider[propertyName];
 //			delete _propertyChanged[propertyName];
 			
 			signalChange(propertyName, null);

			dataProvider.changed.remove(dataProviderChangedHandler);
			
			return this;
		}
		
		public function getProperty(propertyName : String) : Object

		private var _bindings			: Dictionary		= new Dictionary(true);
		private var _values				: Object			= new Object();
		private var _properties			: Vector.<String>	= new <String>[];
		private var _propertyToProvider	: Object			= {};
		
		private var _propertyChanged	: Object			= new Object();
		
