code: public Listener<Void> onEvent(String event, Runnable callback) {
      return listener.onEvent(event, callback);
    }
docs: Registers a void event listener.
  <p>
  The registered {@link Runnable} will be {@link Runnable#run() called} when an event is received
  from the Raft cluster for the session. {@link Session} implementations must guarantee that consumers are
  always called in the same thread for the session. Therefore, no two events will be received concurrently
  by the session. Additionally, events are guaranteed to be received in the order in which they were sent by
  the state machine.
  
  @param event The event to which to listen.
  @param callback The session receive callback.
  @return The listener context.
  @throws NullPointerException if {@code event} or {@code callback} is null