@Override
public CompletableFuture<Void> start() {
final CompletableFuture<Void> future = new CompletableFuture<>();
if (vertx == null) {
vertx = new DefaultVertx(port >= 0 ? port : 0, host, (vertxResult) -> {
if (vertxResult.failed()) {
future.completeExceptionally(vertxResult.cause());
} else {
vertx.eventBus().registerHandler(address, messageHandler, (eventBusResult) -> {
if (eventBusResult.failed()) {