Вопрос по ООПООП?
На мой взгляд PageHandler не совсем удачный термин. Я бы выбрал Book.

Который содержит в себе Pages.

Так как размер страницы не может быть больше размера книги (хотя и бывают редкие забавные исключения), то размер страницы храним в Book, а не в Page.

Добавляя страницу в Book мы передаём ей размер, в который она должна «втиснуться».

Отвечать за функционал смещения страниц книги при изменении размера страницы должен отвечать класс BookView, если говорить в терминологии Model-View-Controller.

Экземпляр которого, в свою очередь, посылает сообщение всем экземплярам класса PageView, что размеры теперь другие.
x,y — не свойства самой страницы как элемента данных, а свойства представления конкретной страницы, к тому же, вычисляемые: 

в общее представление, условно «ленту страниц», передается порядок следования страниц, а оно по их размерам вычисляет расположение.

поэтому отдельно должно быть изменение размера страницы — в самой странице, отдельно — изменение расположения — в представлении, при этом они должны быть связаны.

Вариантов много, простейший и универсальный для MVC: «1) изменить данные; 2) обновить представление»: вызывается сначала изменение размера страницы, затем — перерисовка представления, каждый делает свое.

Можно покопать аналогичные элементы интерфейса в разных языках и библиотеках — посмотреть, как там, т.к. задача типовая.