This is something I'm interested in too. I thought that this was a design decision between a) and b) a) you can have single announcer to whom you would subscribe and then manually filter each fired event whether it something that interests the listener b) subscribe directly to the object you're interested in so when an event is fired you can act on it straight away (is there another option c), d), e) ... which I don't see?) Wouldn't be b) much, much, much faster? I can't imagine that every time one ValueHolder would change every one observer of common ValueHolder announcer would have to check whether it's event from the observed ValueHolder. And I would imagine a) being little bit more versatile... for example I have a model composed of elements (element has direct reference to the owning model) and every time an element changes I need model to know it - I can either subscribe to every one of them (and unsub when they are removed), or I could have one common announcer and then the model would check whether it owns said element. But I would be interested in hearing other problems/advantages that would arise from choosing one over the other. Peter