Large refactorings, began work on GeneratorSimpleImpl