 
         if settings.playerBoardDamage {
             if game.gameStarted {
-                DispatchQueue.main.async { [weak self] in
-                    self?.playerBoardDamage.update(attack: board.player.damage)
-                }
+                playerBoardDamage.update(attack: board.player.damage)
                 show(controller: playerBoardDamage, show: true,
                      frame: SizeHelper.playerBoardDamageFrame())
             } else {

        // card hud
        if settings.showCardHuds {
            if game.gameStarted {
                lastCardsUpdateRequest = Date().timeIntervalSince1970
                let when = DispatchTime.now() + DispatchTimeInterval.milliseconds(100)
                DispatchQueue.main.asyncAfter(deadline: when) { [weak self] in
                    if Date().timeIntervalSince1970 - (self?.lastCardsUpdateRequest ??
                            Date.distantPast.timeIntervalSince1970) > 0.1 {
                        guard let hud = self?.cardHudContainer else { return }

                        hud.update(entities: game.opponent.hand,
                                   cardCount: game.opponent.handCount)
                        self?.show(controller: hud, show: true,
                                   frame: SizeHelper.cardHudContainerFrame())
                    }
                }
            } else {
                show(controller: cardHudContainer, show: false)
            }


        // player tracker
        if settings.showPlayerTracker {
            playerTracker.update(cards: game.player.playerCardList, reset: reset)
            playerTracker.setWindowSizes()

            if settings.autoPositionTrackers && Hearthstone.instance.isHearthstoneRunning {
                rect = SizeHelper.playerTrackerFrame()
