private async Task <Dictionary <int, IBattleshipsGame> > GetCompetitorsAsync(League league) { var players = (await playerRepository.GetAllPlayersAsync()) .Where(x => x.League == league) .ToDictionary(x => x.FileGuid); var competitors = new Dictionary <int, IBattleshipsGame>(); foreach (var player in players) { var pluginAssembly = pluginLoader.LoadPlugin(player.Key); var instance = pluginLoader.GetInstance(pluginAssembly); competitors.Add(player.Value.Id, instance); } return(competitors); }