title: Model-View-Presenter with Delegates, Events and Nested Presenter
body: <p>I have a nested set of views as follows:<br />
  <img src="https://i.stack.imgur.com/ryeAJ.png" alt="enter image description here" /></p>
  <p>Each view has a Presenter where:</p>
  <ul>
  <li>the <code>MainViewPresenter</code> has no knowledge of the views or view presenters <code>ViewA</code> or <code>ViewB</code></li>
  <li><code>ViewA</code> and <code>ViewB</code> are individually managed by their respective presenters and in turn managed by the <code>SplitViewPresenter</code></li>
  </ul>
  <p>I have events that will occur in <code>ViewA</code> which the <code>ViewAPresenter</code> will subscribe to. The <code>SplitViewPresenter</code> can subscribe to the child presenter's events and then bubble those up to the <code>MainViewPresenter</code>. But this seems like a horrible waste of effort simply to bubble up a button click from <code>ViewA</code>.</p>
  <p>It seems as though there should be a way to couple some event listener from the <code>MainViewPresenter</code> to <code>ViewA.OnButtonClick</code>.</p>
  <p>In this case where the <code>MainViewPresenter</code> has no foreknowledge of what is displayed by other presenters, the Observer/Observable pattern does not seem appropriate. Or maybe there is an implementation using Reactive that would work (Note: .Net 4.0 however)</p>
  <p>Would a delegate be the way to go? I know that each event subscription on <code>ViewA</code> might require a different delegate which is fine. In this particular instance, the button click will have actions that need to be performed:</p>
  <ul>
  <li>update the database with new information</li>
  <li>add the new model created by <code>ViewA</code> to the tree view in the <code>MainView</code></li>
  </ul>