public async Task Setup(Func <string, string> eligibilitySelector, List <PollOption> options, Say creator, string Topic)
        {
            EligiblitySelector = eligibilitySelector;
            Options            = options;
            Creator            = creator;
            this.Topic         = Topic;

            winCount = battle.Users.Values.Count(x => EligiblitySelector(x.Name) == null) / 2 + 1;
            if (winCount <= 0)
            {
                winCount = 1;
            }

            await battle.server.Broadcast(battle.Users.Keys, GetBattlePoll());

            if (yesNoVote)
            {
                battle.SayGame(string.Format("Poll: {0} [!y={1}/{3}, !n={2}/{3}]", Topic, userVotes.Count(x => x.Value == 0), userVotes.Count(x => x.Value == 1), winCount));
            }
        }