Enums

Represents a move which either is a normal move or a drop move.

MoveRecord stores information necessary to undo the move.