refactoring linking to make internal factories stateless (reusable) in effort to move to TemplateGraph impl