Feature/configurable generator [WIP]

Adds Configurable Generators through an interface. 

### Todo
- [x] Readme needs updating
- [x] Existing generators need converting to new interface, maintaining bc