 		private function configure_response( iq:IQ ):void
 		{
 			var event:RoomEvent = new RoomEvent( RoomEvent.CONFIGURE_ROOM_COMPLETE );
+			dispatchEvent( event );
+		}
+
+		/**
+		 * Helper to dispatch a property change event.
+		 * @param	name
+		 * @param	newValue
+		 * @param	oldValue
+		 */
+		private function dispatchChangeEvent( name:String, newValue:*, oldValue:* ):void
+		{
+			var event:PropertyChangeEvent = new PropertyChangeEvent( PropertyChangeEvent.CHANGE );
+			event.name = name;
+			event.newValue = newValue;
+			event.oldValue = oldValue;
 			dispatchEvent( event );
 		}
 


			if ( isThisUser( aPresence.from.unescaped ))
			{
				_affiliation = item.affiliation;
				dispatchEvent( new Event( "affiliationSet" )); //update bindings
				_role = item.role;
				dispatchEvent( new Event( "roleSet" )); //update bindings

				if ( !isActive && aPresence.type != Presence.TYPE_UNAVAILABLE )
				{

	 * @see	#configure
	 * @eventType org.igniterealtime.xiff.events.RoomEvent.CONFIGURE_ROOM
	 */
	[Event( name="configureRoom", type="org.igniterealtime.xiff.events.RoomEvent" )]
	/**
	 * Dispatched when a room configuration form is complete.
	 *
