add observer pattern into editPagePModel