Refactoring. Generator implementation made generic, SimpleGeneratorImpl and ConfigurableGeneratorImpl now just returs a configuration