going back to do perform all document's positions updates in the ui thread, there is really no other way around this