move supporting functionality into InjectorSupport