generator: make a constructur, suitable for cmdliner

In particular we avoid labelled arguments. Next I'll add a constructor
intended for humans.

Signed-off-by: David Scott <dave.scott@citrix.com>