Refactoring AST code transformer hierarchy