avoid having to pass vertx object in the constructor since the middleware executor will do that