Hands-on design patterns with Kotlin : build scalable applications using traditional, reactive, and concurrent design patterns in Kotlin. - Soshin, Alexey (Packt, 2018)