Right now this is because .priority(int) should be called before any scheduling on the scheduler happens. Potential options are to make .priority(int) return this, and each time a new Scheduler.Worker is created, reset the priority back to a normal value, or to set it to an invalid value.