Sorry for continuing this off-topic a bit more, but out of the DI frameworks used I know of, you're suggesting only Dagger2, that compiles annotations, but there you also need to build the component graph in user code? So you use Dagger2, or a custom one, I don't see how any framework can avoid that kind of dependency on it's DI?