Merge changes from topic "scheduler::123998711"

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