Separated class definitions out of scheduler.py.