code: public final TcpServer doOnLifecycle(Consumer<? super ServerBootstrap> onBind,
  			Consumer<? super DisposableServer> onBound,
  			Consumer<? super DisposableServer> onUnbound) {
  		Objects.requireNonNull(onBind, "onBind");
  		Objects.requireNonNull(onBound, "onBound");
  		Objects.requireNonNull(onUnbound, "onUnbound");
  		return new TcpServerDoOn(this, onBind, onBound, onUnbound);
  	}
docs: Setups all lifecycle callbacks called on or after {@link io.netty.channel.Channel}
  has been bound and after it has been unbound.
  
  @param onBind a consumer observing server start event
  @param onBound a consumer observing server started event
  @param onUnbound a consumer observing server stop event
  
  @return a new {@link TcpServer}