Если решишь делать в отдельном треде (а я настоятельно рекомендую делать так), имей ввиду, что ba нужно будет захватывать по значению. Как и все прочее состояние, которое тебе понадобится.