Refactored Task system
Counted tasks now favor composition over inheritance
Introduced ErrorLogging tasks and TaskException for at least picking 
up on issues (rather than letting them fail silent)