Manual dependency injection in Android with feature separation into api/impl All dependencies are known at compile time, there is no runtime dependency lookup, and reflection is not used