* changes: SF: Adding testable Scheduler and updating tests. SF: Migrate to Scheduler and clean up duplicate code.