I personally also started with vertx and rxjava, but i then switched to vertx with coroutines, which looks more natural after the steep learning curve. Vertx 3.5 just came out with support for it, and what you would want is a coroutines actor with a set inside, and use remove ( which i think returns the removed element)