I think it would be better to use `Schedulers.threadPoolForComputation()` so we reuse the existing `ScheduledExecutorService` rather than creating a new one for every single call to `delay`.