public static async Task <Dictionary <string, Dictionary <string, IDatabaseEntry> > > GetBackupAllOut(this IGameDatabase db) { var backupTasks = new List <Task <Dictionary <string, IDatabaseEntry> > >() { db.GetBackup <EntryListData>(), db.GetBackup <RoundData>(), db.GetBackup <MatchData>(), db.GetBackup <LevelData>(), db.GetBackup <TagData>(), db.GetBackup <PlayerData>(), }; await Task.WhenAll(backupTasks); return(new Dictionary <string, Dictionary <string, IDatabaseEntry> >() { [nameof(EntryListData)] = await backupTasks [0], [nameof(RoundData)] = await backupTasks [1], [nameof(MatchData)] = await backupTasks [2], [nameof(LevelData)] = await backupTasks [3], [nameof(TagData)] = await backupTasks [4], [nameof(PlayerData)] = await backupTasks [5], }); }