Phase 3 of changes from feature/modules_integration

If this is an error message, we shouldn't return a 200 status. We may want to include the correct status in the exception itself so that it can be decided at the point where we throw the error.