Support custom generators

Shouldn't this field just be called `generators`? Seeing as that is how it is invoked in `macro_handler`?