 				var changedSignal : Signal = _bindingNameToChangedSignal[bindingName] as Signal;
 				
 				if (changedSignal != null)
-				{
-					changedSignal.execute(
-						this, bindingName, tmpValues[bindingName], null
-					);
-				}
+					changedSignal.execute(this, bindingName, tmpValues[bindingName], null);
 			}
 		}
 		

				throw new ArgumentError('Unknown provider.');
			
			var numBindings : uint = _bindingNames.length;
			for (var indexRead : uint = 0, indexWrite : uint = 0; indexRead < numBindings; ++indexRead)
			{
				var bindingName : String = _bindingNames[indexRead];
				

			}
			else
			{
				var bindingName : String	= source.dataDescriptor[attributeName];
				var oldValue	: Object	= _bindingNameToValue[bindingName];
				var newValue	: Object	= source[attributeName];
				
				_bindingNameToValue[bindingName] = newValue;
				
				if (_bindingNameToChangedSignal[bindingName])
					_bindingNameToChangedSignal[bindingName].execute(
						this,
						bindingName,
						oldValue,
						newValue
					);
			}
		}
		
//		FIXME: handle provider's properties removal
//		private function updateProviderBindings(provider : IDataProvider) : void
//		{
//			var dataDescriptor			: Object			= provider.dataDescriptor;
//			var providerBindingNames	: Vector.<String>	= _providerToBindingNames[provider];
//			var numBindingNames			: uint				= providerBindingNames.length;
//			
//			for (var bindingNameId : uint; bindingNameId < numBindingNames; ++bindingNameId)
//			{
//				var bindingName : String = providerBindingNames[bindingNameId];
//				
//				if (!dataDescriptor.hasOwnProperty(bindingName))
//					
//			}
//			
//			for (var propertyName : String in dataDescriptor)
//				if (providerBindingNames.indexOf(propertyName) < -1)
//					addBinding(
//						dataDescriptor[propertyName],
//						provider[propertyName],
//						provider,
//						providerBindingNames
//					);
//		}
	}
}