 			
 			// unlink from the old key set
 			if (_baseKeySet != null)
-				getCallbackCollection(_baseKeySet as ILinkableObject).removeCallback(handleBaseKeySetChange);
+				getCallbackCollection(_baseKeySet as ILinkableObject).removeCallback(triggerCallbacks);
 			
 			_baseKeySet = newBaseKeySet; // save pointer to new base key set
 
 			// link to new key set
 			if (_baseKeySet != null)
-				getCallbackCollection(_baseKeySet as ILinkableObject).addImmediateCallback(this, handleBaseKeySetChange);
+				getCallbackCollection(_baseKeySet as ILinkableObject).addImmediateCallback(this, triggerCallbacks);
 			
-			handleBaseKeySetChange();
-		}
-		
-		private function handleBaseKeySetChange():void
-		{
-			invalidateFilteredKeys();
 			triggerCallbacks();
 		}
 		

			for each (key in _filteredKeys)
				_filteredKeysMap[key] = true;
			
			_dirty = false; // _filteredKeys are now valid.
		}
		private var _dirty:Boolean = true; // flag to remember if the _filteredKeys are valid
	}
}

	 */
	public class FilteredKeySet extends CallbackCollection implements IFilteredKeySet
	{
		public function FilteredKeySet()
		{
		}

