Improved class naming
Adopting a naming convention for interface-implementing classes that is easier to read and understand.
I also created namespaces for common components and exceptions, removing them from domain
. Only domain classes belong in there.
All this reorganization is to prepare the project for multiple CBS endpoints.