Currently, the scheduler is a class with more than 7200 lines of code which makes it very tricky to maintain. This approach follows the idea to create a separate class ScheduleStrategy that holds the entire logic to select a certain schedule to be executed.
As a first step, the scoring calculation is extracted and shifted to ScheduleStrategy.