fix borrow check failures by reverting to storing *mut Page in window