refactored code generation to introduce specific (aggregate, reference,
common) class builders instead of one monolithic base class builder.