virtual public void UnregisterCard(ICardModel card) { ValidateCards(); if (_Cards.Contains(card)) { _Cards.Remove(card as Card); card.UnregisterWithSet(this); // this will remove this card from all decks. NotifyPropertyChanged("Cards"); NotifyPropertyChanged("ObservableCards"); //this card should be deleted at this point so it doesn't //need to unregister with any sets } }