New approach, keeping annotations. Added sequential provider, which helps with testing.
Dependencies exist in modules, where they are resolved by the injector.
See what happens when injecting subdependencies.
Remove 'get' prefix from everywhere but providers. Not very Objective-C.
Initializer uses providers, and builds the initialised object itself.
Dependency lets initialiser build the object.
Use providers to populate initialisers with arguments.
Injector relies on providers (not dependencies). Module uses keyed subscripts for setting providers.
Added recursive provider, and initializer method for initializer.
Added blank specs with PENDING as a reminder to write them.
Initializer -> Initialized Object Provider.