This feels wrong that we have a "helper" that schedulers extend from. That implies that the `Scheduler` interface is wrong.

/cc @headinthebox