public void LogPlayedCard(Card card)
        {
            CardMemorizer.ValidateCardNotNull(card);

            bool removed = this.myHand.Remove(card);

            if (!removed)
            {
                throw new ArgumentException($"Card must be present in {nameof(this.MyHand)}");
            }

            this.MyLastPlayedCard = card;

            this.myPlayedCards.Add(card);
        }
        public void LogDrawnCard(Card card)
        {
            CardMemorizer.ValidateCardNotNull(card);

            if (card.Equals(this.TrumpCard))
            {
                this.TrumpCardDrawn = true;
            }
            else
            {
                this.NewCardDicovered(card);
            }

            this.myHand.Add(card);
        }
        public void LogOpponentPlayedCard(Card card)
        {
            CardMemorizer.ValidateCardNotNull(card);

            bool isTrumpCard = card.Equals(this.TrumpCard);

            if (!isTrumpCard && !card.Equals(this.OldTrumpCard))
            {
                this.NewCardDicovered(card);
            }

            if (isTrumpCard)
            {
                this.TrumpCardDrawn = true;
            }

            this.opponentPlayedCards.Add(card);
        }