Be careful about use of transactionally here -- maybe atomically would be a better word?