class PlayerGames implements Iterable<PlayerGame>, Tickable {

    public PlayerGame add(Player player, String roomName, PlayerSave save) {
        GameType gameType = player.getGameType();

        Single single = buildSingle(player, gameType);

        Game game = new LockedGame(lock).wrap(single);

        play(game, roomName, gameType, parseSave(save));

        PlayerGame playerGame = new PlayerGame(player, game, roomName);
        if (onAdd != null) {
            onAdd.accept(playerGame);
        }
        all.add(playerGame);
        return playerGame;
    }

    public  PlayerGames();

}