refactor(ElementInjector): use `index` instead of the `elementInjector` field to instantiate element injectors
refactor(ProtoElementInjector): change `instantiate` to take positional args