Applicative refactoring
Use result class for adding tasks
Handle list with instance
Tease out smaller functions
add support for removeAll
All -all
Remove single support
Refactory removeSingle