Separate NameGen to its own module