Panda's event handling...

Ah yes, sorry–it is true that any particular object can only accept each message once. I think there was some historical reason we did that, probably to help clean up messenger leaks. (Otherwise, what does it mean when an object calls accept(‘foo’) twice and ignore(‘foo’) once?)

Also, having a dictionary on objects allows the object to call self.ignoreAll() and conveniently ignore all objects it is accepting.

Incidentally, acceptorDict is in fact a dictionary, and not a list. It is a dictionary on object -> [method, extraArgs, persistent].

David