protected List<Card> loadCards() {
   List<CardData> data = loadRawData();
   List<Card> cards = new ArrayList<Card>();
   for (CardData cardData : data) {
     cards.add(new Card(cardData));
   }
   return cards;
 }
 @Override
 public List<String> deckNames() {
   List<String> deckNames = new ArrayList<String>();
   File deckDir = getDeckDir();
   File[] files = deckDir.listFiles();
   for (File deckFile : files) {
     deckNames.add(deckFile.getName());
   }
   return deckNames;
 }