broke the exceptions into their own namespace
simplifying how tasks are updated when task logs are updated