Introduce classes for AST

Yeah, I know. It's more like "classes" than classes. Small steps.