docs: function (eventName) {
              var fns = this._events[eventName];
              
              if (typeof fns === 'undefined') {
                  throw "IllegalArgumentException: unsupported eventName (" + eventName + ")";
              }
              
              if (fns.length > 0) {
                  var args = [];
                  for (var i = 1; i < arguments.length; i++) {
                      args.push(arguments[i]);
                  }
                  
                  var hasFoundFalse = false;
                  for ( var i = 0;
                            i < fns.length && !hasFoundFalse;
                            i++ ) {
                      if (fns[i].apply(this, args) === false) {
                          hasFoundFalse = true;
                      }
                  }
                  if (hasFoundFalse) {
                      return false;
                  }
              }
              
              return true;
          }