Separate generator functions into their own file

It's just copy/pasting and a git mv