organize into plugin and samples subprojects
Decomposition of codegen classes.