Refactor: Introduce Moves and Move class to calculate all possible moves and evaluate them