Reorganized code into functionality-specific modules
Do task filtering in controller
populate all lists with a single scan through master task list