    // MARK: - Init
    public convenience init(viewControllers: [UIViewController]) {
       self.init(transitionStyle: .scroll, navigationOrientation: .horizontal)
-      self.pages = viewControllers
+      // didSet will not be triggered if pages is set directly in an init method
+      _setPages(viewControllers)
    }
    
    public required init?(coder: NSCoder) {

         completion?()
      }
   }
   
   fileprivate func _setCurrentIndex(_ index: Int) {
      currentIndex = index
   }

   }
   
   public func navigate(to index: Int) {
      guard !pages.isEmpty, index != currentIndex else { return }
      let index = min(index, pages.count - 1)
      switch index {
      case 0..<currentIndex:
