Discussed earlier, but I thought of giving a few cents more to my reasoning here.

I don't see a big use of having separate list of listeners for each server, it only adds complexity.
I think it is better if each listener can decide if they are interested in an event from a provider when the event arrives, then being able to listen for a specific project pattern on *any* Gerrit server (which is what I would like too have as a default) can be a lot simpler handled instead of having the listener registered in several places.