Domain-Driven Design with Kotlin