Refactor out a lot of stuff used by TimetableWidget and my_timetable both to models and model extensions