Move generator name back to RegisterGenerator, but use some CRTP trickery to allow generator_name() to still be a member function.