     
     public func moveToNext(animated:Bool = false) {
 
-        if let currentViewController = self.currentViewController() {
+        guard let pageViewController = self.pageViewController else {
+            return
+        }
+
+        if let currentViewController = self.currentViewController {
             if let nextViewController = self.viewControllerAfterViewController(currentViewController) {
-                self.pageViewController.setViewControllers([nextViewController],
+                pageViewController.setViewControllers([nextViewController],
                     direction: .Forward,
                     animated: animated,
                     completion:{ (finished) -> Void in

    public private(set) var backgroundContentView:UIView?
    public private(set) var viewControllers:Array<UIViewController> = []
    
    private var scrollViewUpdatesEnabled:Bool = true
    public private(set) var pageViewController:UIPageViewController!
    
    public init(viewControllers:Array<UIViewController>, backgroundContentView:UIView? = nil, progressView:UIView? = nil) {
        super.init(nibName: nil, bundle: nil)

    public func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {
        if !decelerate {
            self.scrollFinished(scrollView)
        } else {
            /*
            UIView.animateWithDuration(0.2) { () -> Void in
                self.setNeedsStatusBarAppearanceUpdate()
            }*/
        }
    }
    
