 
     private func updateTracker(tracker: Tracker?, _ reset: Bool = false) {
         if reset {
-            let cards: [Card]
+            let cards: [Card]?
             if tracker == self.playerTracker {
                 playerUpdateRequests = 0
                 cards = self.player.playerCardList

                if updateRequests > 0 {
                    return
                }
                let cards: [Card]
                if tracker == self.playerTracker {
                    cards = self.player.playerCardList
                } else {
                    cards = Settings.instance.clearTrackersOnGameEnd
                        && self.gameEnded ? [] : self.opponent.opponentCardList
                }
                tracker?.update(cards, reset)
            }
        }
    }

                cards = Settings.instance.clearTrackersOnGameEnd && gameEnded
                    ? [] : self.opponent.opponentCardList
            }
            if let cards = cards {
                dispatch_async(dispatch_get_main_queue()) {
                    tracker?.update(cards, reset)
                }
            }
        } else {
            if tracker == playerTracker {
