How To Implement Domain-Driven Design (DDD) in Go