implemented GameState IsWinState condition
refactored game state for a more undestandable domain