Passing factory instead of copying directives