private void advanceState() {
		switch(state) {
		case ANTE:
			//After the ante, we deal hands
			dealHands();
			state = GameState.PREFLOP;
			break;
		case PREFLOP:
			//After the preflop, we do the flop
			dealTableCard();
			dealTableCard();
			dealTableCard();
			state = GameState.FLOP;
			break;
		case FLOP:
			//After the flop comes the Turn
			dealTableCard();
			state = GameState.TURN;
			break;
		case TURN:
			//After the turn comes the River
			dealTableCard();
			state = GameState.RIVER;
			break;
		case RIVER:
		case SHOWDOWN:
			//Game is over
			calculateWinner();
			state = GameState.ANTE;
			break;
		case WAITING_FOR_PLAYERS:
			startGame();
			break;
		default:
			//We get into a better state
			state = GameState.WAITING_FOR_PLAYERS;
			break;
		}
	}