Well, I don;t really like the idea of the "correct" pattern. Really, kodein supports both patterns. Most fans of the dependency injection pattern would tell you that a class should be unaware of the IoC container, so that it can be used without it. You know : decoupling is always better. On the other hand, using kodein's delegated properties makes the code easier to maintain and damn readable simple smile.