feat(di): add metadata to Key
feat(ElementInjector): implement ElementInjector