I split the warn messages when validating registered services. 

In terms of static exception objects, my thought was that exception codes are captured directly inside the one exception instance. Throwing exception objects individually would potentially scatter codes through the codebase, or would require exposing public constants. 

Not seeing how the exception stack would be troubled. The `UnauthorizedServiceException` instance should always show up in the logs. It's not a pluggable instance.