Refactoring: implemented Page::load and Page::save in a more general way