public string AggressorPosition(PokerHand hand, int rIdx, int aIdx)
        {
            var action = hand.AllPreviousActions(rIdx, aIdx).LastOrDefault(a => a.Type == ActionType.Bet || a.Type == ActionType.Raise);

            // If there has been no raises or bets, no one is the aggressor so we don't use this feature
            if (action == null)
                return "None";

            // If we are the aggressor, return 0
            if (action.Player == hand.Hero)
                return "Me";

            var aggressor = hand.Players.First(p => p.Name == action.Player);
            var relPlayers = hand.ButtonRelativeSeats();
            int aggIdx = relPlayers.IndexOf(p => p.Name == aggressor.Name);
            int heroIdx = relPlayers.IndexOf(p => p.Name == hand.Hero);

            // If the aggressor is after us, return 1.
            // If the aggressor is before us, return -1.
            return aggIdx > heroIdx ? "After" : "Before";
        }