injectAttributeImpl
This commit moves the `injectAttributeImpl` and other dependent code to avoid circular dependencies. PR Close #37085