По-хорошему это надо делать через async/await, однако, если интерфейс жестко привязан к значению счетчика, то есть пока он не изменился никакой работы не предусматривается, то можно опустить это
Представим, что есть такой класс контроллера в библиотеке: