 			}
 		}
 		
-		/**
-		 * A provider attribute has changed, and the attribute tells us.
-		 * For example, camera.localToWorld has been updated.
-		 */
-		private function onProviderAttributeChange(source : IDataProvider, key : String) : void
+		private function providerPropertyChangedHandler(source : IDataProvider, key : String) : void
 		{
 			var providers		: Vector.<IDataProvider>	= _attributeToProviders[source];
 			var attrNames		: Vector.<String>			= _attributeToProvidersAttrNames[source];

				// we are replacing a data provider. We must remove listeners and related mapping keys
				if (oldDpValue != null)
				{
					oldDpValue.changed.remove(onProviderAttributeChange);
					
					var providers	: Vector.<IDataProvider>	= _attributeToProviders[oldDpValue];
					var attrNames	: Vector.<String>			= _attributeToProvidersAttrNames[oldDpValue];

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