Provides the interface required to interact with the scheduler in addition to a simple implementation.