Split into AstStructureFactory and AstStructureFactoryMaker. The former
produces an AST while the latter directly updates a ClassMaker instance.