public RoundResult RunRound(IBot player1, IBot player2, RoundResult previousResult)
        {
            var p1Decision = player1.GetDecision(previousResult);
            var p2Decision = player2.GetDecision(previousResult);

            IBot winner = null;

            if (p1Decision == p2Decision)
            {
                // tie
            }
            else if (p1Decision.IsWinnerAgainst(p2Decision))
            {
                winner = player1;
            }
            else
            {
                winner = player2;
            }

            return(new RoundResult
            {
                Winner = winner,
                Player1 = player1,
                Player2 = player2,
                Player1Played = p1Decision,
                Player2Played = p2Decision,
            });
        }