     (pages[previousIndex] as? Appearable)?.didDisappearFromScreen()
     (pages[currentIndex] as? Appearable)?.didAppearOnScreen()
     if debugging {
-      println("previousIndex: \(previousIndex) viewController: \(pages[previousIndex])")
-      println("currentIndex: \(currentIndex) viewController: \(pages[currentIndex])")
+      print("previousIndex: \(previousIndex) viewController: \(pages[previousIndex])")
+      print("currentIndex: \(currentIndex) viewController: \(pages[currentIndex])")
     }
   }
   
   func scrollViewWillBeginDecelerating(scrollView: UIScrollView) {
     if debugging {
-      println("nextIndex: \(nextIndex) viewController: \(pages[nextIndex])")
+      print("nextIndex: \(nextIndex) viewController: \(pages[nextIndex])")
     }
     (pages[currentIndex] as? Appearable)?.willDisappearFromScreen()
     (pages[nextIndex] as? Appearable)?.willAppearOnScreen()

        //
      })
    } else if debugging {
      println("JKPageViewController does not have any pages!")
    }
  }
  
  func recursivelyIterateSubviews(view: UIView) {
    if debugging {
      println("\(String.fromCString(object_getClassName(view))) :: frame: \(view.frame)")
    }
    for eachSubview in view.subviews {
      if let scrollView = eachSubview as? UIScrollView {
        scrollView.delegate = self
        scrollView.frame = CGRectMake(0, 0, view.frame.width, view.frame.height)
      }
      recursivelyIterateSubviews((eachSubview as? UIView)!)
    }
  }

}

extension JKPageViewController: UIPageViewControllerDelegate {
  
  func pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [AnyObject], transitionCompleted completed: Bool) {
    if !completed { return }
    previousIndex = currentIndex
    currentIndex = nextIndex
    
  }
  
  func pageViewController(pageViewController: UIPageViewController, willTransitionToViewControllers pendingViewControllers: [AnyObject]) {
    nextVC = pendingViewControllers.first as? UIViewController
    nextIndex = find(pages, nextVC)
  }
  
  func viewControllerAtIndex(index: Int) -> UIViewController?{
    if pages.count == 0 || index >= pages.count {

}

/* Implementation:
 
 func makeViewControllers() {
 let loginMockVC = MockupVC()
 loginMockVC.mockupImage = UIImage(named: "login.png")
 let exploreMockVC = MockupVC()
 exploreMockVC.mockupImage = UIImage(named: "explore.png")
 let trendingMockVC = MockupVC()
 trendingMockVC.mockupImage = UIImage(named: "trending.png")
 let specificMockVC = MockupVC()
 specificMockVC.mockupImage = UIImage(named: "specific.png")
 
 viewControllers = [loginMockVC, exploreMockVC, trendingMockVC, specificMockVC]
 }
 
 func addPageVC() {
 pageViewController = PageVC(transitionStyle: UIPageViewControllerTransitionStyle.Scroll, navigationOrientation: .Horizontal, options: nil)
 
 pageViewController.pageControlEnabled = true
 pageViewController.debugging = true
 pageViewController.pages = viewControllers
 addChildViewController(self.pageViewController)
 view.addSubview(self.pageViewController.view)
 pageViewController.didMoveToParentViewController(self)
 
 pageViewController.setInitialPage()
 }
 
 */
