Lift up `DocumentPositionChange`? It does not need to be inside `DocumentProxy`