Head First Design Patterns in Kotlin Example implementations from the "Head First Design Patterns" book but written in Kotlin