The choice was deliberate.

If someone depends on `after: 'store'` to use the store, it must be ready for instantiation. If we specify the injection rules `after: 'store'` it would be possible to have another initializer `after: 'store'` that is run before the injection rules our specified, this would result in a `store` that was instantiated with missing injection rules.

Although it may not be obvious from the api, `application.inject` merely specify rules, for injection, when the entity to be injected is first instantiated.