#2 - refactor - board size is based off of map text
#3 - Only return existing enum values
#3 - Save the move that was made to get the json result
#2 - Separate token and map logic