Kotlin DI Framework