Removed empty cpp file
Refactored code generation, added CodeGenerator class, #169
More refactoring of code generation, #169
Yet more refactoring of code generation, #169
And yet more refactoring of code generation, #169