Moved the could-be-static methods from the generator into their own class, as static methods. This is to support making the BuilderGenerator buildable, i.e. to get rid of the large amount of parameters in the generate(...) method.
Moved the parameters from the generate(...) method to a new constructor of the BuilderGenerator.
Replaced the constructor with a builder constructor.

Because what could possibly be better advertisement for a plugin than to use its features in the plugin itself. :)