public void AddUpgrade(IAnimal animalLeft, Card card, UpgradePair upgrade) { if (card.Upgrade1 != upgrade && card.Upgrade2 != upgrade) { throw new CardUpgradeIncostintenceException(); } Animals.AddUpgrade(animalLeft, upgrade); _cards.Remove(card); }