title: Explain ExtJS 4 event handling
body: <p>I've recently started learning ExtJS, and have trouble understanding how to handle Events. I have no experience of any previous versions of ExtJS. </p>
  
  <p>From reading various manuals, guides and documentation pages, I've figured out how to use it, but I'm not clear on how it works. I've found several tutorials for older versions of ExtJS, but I'm not sure how applicable they are in ExtJS 4.</p>
  
  <p>I'm specifically looking on the "final word" on things like</p>
  
  <ul>
  <li>what arguments does an event handling function get passed? Is there a standard set of args that always get passed?</li>
  <li>how to define custom events for custom components we write? how can we fire these custom event?</li>
  <li>does the return value (true/false) affect how the event bubbles? If not, how can we control event bubbling from within, or outside of the event handler?</li>
  <li>is there a standard way to register event listeners? (I've come across two different ways til now, and I'm not sure why each method was used).</li>
  </ul>
  
  <p>For example, <a href="https://stackoverflow.com/questions/6094411/handling-itemclick-event-on-tree-panel-extjs-4">this question</a> leads me to believe that an event handler can receive quite a few arguments. I've seen other tutorials where there are just two arguments to the handler. What changes?</p>