code: function (name, data, options) {
              var _listeners = this.__handlers__[name],
                  _listener,
                  _result = null;
              if (_listeners) {
                  for (var i = 0, length = _listeners.length; i < length; i++) {
                      _listener = _listeners[i];
                      if (_listener && _listener.handler) {
                          if(options && options.method=='apply'){
                              _result = _listener.handler.apply(_listener.context || _listener.owner, data);
                          } else {
                              _result = _listener.handler.call(_listener.context || _listener.owner, _listener.owner, data, options);
                          }
                          if (false === _result) {
                              return false;
                          }
                      }
                  }
              }
  
              return this;
          }
docs: Trigger an event.
  @method fire
  @param name {String}
  @param [data] {*}
  @param [options] {Object}