title: Should a view use dispatch or fire events?
body: <p>What is the best way for a view to communicate with its controller? Most examples use <code>Ext.dispatch</code>, but this seems wrong to me for a few reasons:</p>
  
  <ol>
  <li>It couples the view to the controller, making the view hard to reuse. If the view is nested inside another view, it may no longer be desirable - or even correct - to call the same controller/action.</li>
  <li>Having the view dictate to the controller which action to take inverts the hierarchy. Commands should go down, events should go up.</li>
  </ol>
  
  <p>So, should views always fire events, and never call specific controllers? This way the parent view (if any) or the instantiating controller can decide how to respond. In this case a containing view should bubble up child events it doesn't handle, so they can be handled higher up in the hierarchy.</p>
  
  <p>OR</p>
  
  <p>Should views <em>prefer</em> to fire events over invoking specific controller actions, but not go to extremes? I emphasize prefer, because I can think of cases when a view should always trigger the same action, e.g. a Logout button. This seems like a slippery slope... how do you know for sure that you will never need to override that button's action?</p>
  
  <p>Thanks.</p>