Undoing moves works and the board class now used position keys.