https://medium.com/@ogubuikealex/simplifying-domain-driven-design-a-guide-to-smarter-software-development-f94f2a808acf