New answers tagged event-programming
The general idea of MVVM is to use the ViewModel to model the View so that the ViewModel data-binds to elements on the View which usually includes the Model (for more information, see my answer to this question: How do I know if I'm violating MVVM with WPF?). The event aggregator or mediator is used to transmit events between the layers that should not ...
The observer pattern does not fit here. Observers are being called synchronically, and must finish before the caller may proceed. What you want is the Actor Model - which, like you said, uses event queues. You don't have to do busy waiting though - there are more efficient ways to do it, like making threads wait on the event queues.
Top 50 recent answers are included