errors should be generated at the point for failure (usually the service) not in response to error codes.