code: public EventBus emit(String event, Object... args) {
          return _emitWithOnceBus(eventContext(event, args));
      }
docs: Emit a string event with parameters.
  
  This will invoke all {@link SimpleEventListener} bound to the specified
  string value given the listeners has the matching argument list.
  
  For example, suppose we have the following simple event listener methods:
  
  ```java
  {@literal @}On("USER-LOGIN")
  public void logUserLogin(User user, long timestamp) {...}
  
  {@literal @}On("USER-LOGIN")
  public void checkDuplicateLoginAttempts(User user, Object... args) {...}
  
  {@literal @}On("USER-LOGIN")
  public void foo(User user) {...}
  ```
  
  The following code will invoke `logUserLogin` and `checkDuplicateLoginAttempts` methods:
  
  ```java
  User user = ...;
  eventBus.emit("USER-LOGIN", user, System.currentTimeMills());
  ```
  
  The `foo(User)` will not invoked because:
  
  * The parameter list `(User, long)` does not match the declared argument list `(User)`.
  Here the `String` in the parameter list is taken out because it is used to indicate
  the event, instead of being passing through to the event handler method.
  * The method `checkDuplicateLoginAttempts(User, Object ...)` will be invoked because
  it declares a varargs typed arguments, meaning it matches any parameters passed in.
  
  @param event
  the target event
  @param args
  the arguments passed in
  @see SimpleEventListener