Move re-used internal Scheduler classes to their own package

As discussed in #1294