Refactor to separete de model from the game logic.