 // MARK: Private methods
 
 extension PagesController {
+
+  func setViewController(viewController: UIViewController, atPage page:Int) {
+    pagesDelegate?.pageViewController(self,
+      setViewController: viewController,
+      atPage: page)
+    if let pageChangeHandler = pageChangeHandler {
+      pageChangeHandler(viewController: viewController, page: page)
+    }
+  }
 
   func viewControllerIndex(viewController: UIViewController) -> Int? {
     return find(pages, viewController)

        direction: .Forward,
        animated: true,
        completion: { [unowned self] finished in
          self.pagesDelegate?.pageViewController(self,
            setViewController: viewController,
            atPage: self.currentIndex)
        })
      if setNavigationTitle {
        title = viewController.title

        direction: direction,
        animated: true,
        completion: { [unowned self] finished in
          if finished {
            self.setViewController(viewController, atPage: self.currentIndex)
          }
        })
      if setNavigationTitle {
        title = viewController.title
