This way we don't have to create a factory as a separate class (assembly will act as one), no need to write injectProperty stuff in assemblies (to manually inject assembly) and therefore will be no warnings about using undeclared selectors (in case of injected properties being declared in class extension).
Related post on SO
It might be nice to have an ability for assemblies to auto-inject themselves, for example:
This way we don't have to create a factory as a separate class (assembly will act as one), no need to write injectProperty stuff in assemblies (to manually inject assembly) and therefore will be no warnings about using undeclared selectors (in case of injected properties being declared in class extension).