Class Task split into Task trait, SingleTask case classes
Method for checking whether task is within given time units
Total time units occupied by task
Next task in a cycle
Operator for conditional adds an element at the beginning of the list
Removed collectTasks duplicated code