Improved encapsulation in ApplicationInstance.

ApplicationInstance holds Dependencies.
Dependencies is responsible for initialization and resolution of a collection of Dependency.

ApplicationInstance public signature has not changed.