The `Scheduler` and `Profiler` classes currently share a lot of code - we can factor this out into a common superclass (e.g. `SchedulerMechanism`)
The
SchedulerandProfilerclasses currently share a lot of code - we can factor this out into a common superclass (e.g.SchedulerMechanism)