In observer pattern Observer notifies listeners usually by invoking on each some method like:
OnSomethingUpdated(Object) {
....
In this case we have coupling: Observer should do some operation with each listener. When I would like modify Observer or Listener by inheritance or try to extract abstract superclass for simplify logic of Observer (or Listener) it getting difficult propagate messages, I receive spaghetti code. I think that should exists some way of decoupling business logic of work of Observer from logic of propagating messages to listeners. May be better contrary - listeners should check some pool of messages. Does exist similar pattern? Thanks.