fix replay when legacy observer is used

Before this fix, the logic would be in an invalid state,
i.e. loading page "2" and searching page "1". Effectively
the searching would lag one page behind, resulting in the
last page not being searched.

This patch ensures the events are only run after the initial
loading has finished *and* the modification events have all
been processed. This matches the behaviour of the modern
observer.