Make NodeFactory virtual