NOTE: I must admit that I was hoping that `Object.observe` would become widespread. This will not happen since it now has been withdrawn.
Flux from Facebook is a nice approach for propagating information. It is a kind of pub/sub but all subcribers receive all events. There is also a mechanism for one subscriber to wait for others subscribers to process the event first. Implementing a dispatcher is relatively simple, here is a example. And here is another example where it also is possible to wait for other subscribers.