@startuml class ASTNode { ASTNode[] children Property[] props addtoSequence() toGameTree() toGameMoveTree(previousMove) hasProperty(propertyName) getPropertyValue(propertyName) } @enduml