title: MVVM alternate events pattern
body: <p>I currently have a hierarchy that looks like this</p>
  
  <pre><code>MainWindowViewModel
      TabViewModel
          EditorViewModel
              ReviewingServices
                  ConflictFinder
  </code></pre>
  
  <p>The issue I'm running into is that <code>TabViewModel</code> wants to be notified of conflicts (from <code>ReviewingServices</code>) as well as other things. I <em>could</em> create public getters for all my dependencies and subscribe to whatever I want with <code>DependencyA.DependencyB.DependencyC += SomeHandler;</code> but that's rather messy. I'm finding myself creating far too many events that I wish to count. Essentially, I've created a messy web of events. I love the separation of responsibilities that I've created for every class but when every class has 2-3 events each it's rather difficult to maintain. I'm having no issues creating and maintaining events if the subscriber is only 1 level above. The mess comes when say <code>MainWindowViewModel</code> wishes to be notified of new reviews (published from <code>ReviewingServies</code>.</p>
  
  <p>Is there a better of doing these types of events where a subscriber could want to subscribe to events that are deeply nested in the application?</p>