code: function() {
  
          this.lastError = null;
  
          var errors = [],
              len=this.subscribers.length;
  
  
          var args=[].slice.call(arguments, 0), ret=true, i, rebuild=false;
  
          if (this.fireOnce) {
              if (this.fired) {
                  return true;
              } else {
                  this.firedWith = args;
              }
          }
  
          this.fired = true;
  
          if (!len && this.silent) {
              return true;
          }
  
          if (!this.silent) {
          }
  
          // make a copy of the subscribers so that there are
          // no index problems if one subscriber removes another.
          var subs = this.subscribers.slice();
  
          for (i=0; i<len; ++i) {
              var s = subs[i];
              if (!s) {
                  rebuild=true;
              } else {
  
                  ret = this.notify(s, args);
  
                  if (false === ret) {
                      if (!this.silent) {
                      }
  
                      break;
                  }
              }
          }
  
          return (ret !== false);
      }
docs: Notifies the subscribers.  The callback functions will be executed
  from the context specified when the event was created, and with the
  following parameters:
  <ul>
  <li>The type of event</li>
  <li>All of the arguments fire() was executed with as an array</li>
  <li>The custom object (if any) that was passed into the subscribe()
  method</li>
  </ul>
  @method fire
  @param {Object*} arguments an arbitrary set of parameters to pass to
  the handler.
  @return {boolean} false if one of the subscribers returned false,
  true otherwise