Avoid forced synchronous layout inside updatePositions()