Refactoring around providers
Fixing broken architecture
Correctly storing task status
Refactoring around task group list facility
Passing filter around