refactored IPageObserver and MainWindow from the model package to the
view package