@Override
    public void run() {

        if (state == GameState.WAITING_FOR_PLAYERS) {

            if (getPlayers(PlayerState.WAITING).size() >= battleground.getMinPlayers()) {
                //TODO: broadcast message
                state = GameState.COUNTDOWN;
                currentCounter = new Counter(30);//TODO: fix magic value
            }

        } else if (state == GameState.COUNTDOWN) {

            if (currentCounter.isZero()) {
                state = GameState.INGAME;
                startGame();
            } else {
                currentCounter.countDown();
            }

        } else if (state == GameState.INGAME) {

        } else if (state == GameState.POSTGAME) {

        }

    }