Refactoring injector to use functional obj construction