Code restructuring only.  Should be no change in behavior.   No longer use System.Type to represent the type of a card.  Instead, pass around an example instance of the card itself.