 				
 				if (dpAttribute != null)
 				{
-					dpAttribute.changed.add(onProviderAttributeChange);
+					dpAttribute.changed.add(providerPropertyChangedHandler);
 					
 					_attributeToProviders[dpAttribute]			||= new <IDataProvider>[];
 					_attributeToProvidersAttrNames[dpAttribute]	||= new <String>[];

				_bindingNames.splice(indexOf, 1);
				
				if (_bindingNameToValue[bindingName] is IDataProvider)
					IDataProvider(_bindingNameToValue[bindingName]).changed.remove(onProviderAttributeChange);
				
				delete _bindingNameToValue[bindingName];
			}

			return _bindingNameToValue.hasOwnProperty(bindingName);
		}

		public function getProperty(bindingName : String) : *
		{
			return _bindingNameToValue[bindingName];
