Setup factory pointers ... C++ templates are annoying should take non constexpr values.