The Simulation class /startup logic is hard to read and could be simplified by using RxJava. http://vertx.io/docs/vertx-rx/java/ http://reactivex.io/