Refactored shared name/desc/cost logic into Card superclass