pushes schedules logic down from controller and adds model tests for schedules

:pig: :cow: :chicken: