Feature/configurable generator [WIP]

Adds Configurable Generators through an interface. 

## Todo
* Readme still needs updating
* Existing generators need converting to new interface, maintaining backwards