Every time I go through the source code I find places where we are using internalObjectID to verify an if an object is unique (We use [NSDictionary objectForKey:listObject.internalObjectID] in several places). This concerns me, because we actually write a method into the code to modify it. Should we really allow setUID: to happen, or should we have a NSNotification set to go off every time it happens and modify interested dictionaries?
This normally wouldn't be a problem, but in IRC it's trivial to change your internalObjectID, leading to leaked objects.
-Nicholas Peshek