public static CardAcceptance For(Card card, CountSource countSource, Comparison comparison, int threshhold, GameStatePredicate match)
        {
            MatchDescription descr = new MatchDescription(countSource, card, comparison, threshhold);

            return CardAcceptance.For(card, gameState => descr.GameStatePredicate(gameState) && match(gameState));
        }
        public static CardAcceptance For(Card card, CountSource countSource, Comparison comparison, int threshhold)
        {
            MatchDescription descr = new MatchDescription(countSource, card, comparison, threshhold);

            return descr.ToCardAcceptance();
        }