Руководство как при помощи Kotlin и делегатов может писать кода не больше чем при использовании Dagger, но зато не будет кодогенерации и долгих сборок. Называется Manual DI #dagger