Вы уверены, что хотите использовать ref , а не агент ?
Мне кажется, что вы хотите выполнять обновления, но вас не волнует, когда эти обновления действительно произойдут (если только они случаются). Это именно то, что agents
используется для: совместного использования состояния асинхронным и независимым способом. Refs
предназначены для совместного использования состояния синхронным и скоординированным образом.
Структурирование логики приложения вокруг того, находится ли ссылка в транзакции, звучит для меня как плохая идея. Может быть, если вы предоставите больше деталей, кто-то может придумать лучший дизайн.