             switch newValue {
             case let .double(indexes):
                 if indexes.isEmpty == false {
-                    interfaceBehaviour.updatePageIndex(indexes.first!, pagingView: pagingView)
+                    interfaceBehaviour().updatePageIndex(indexes.first!, pagingView: pagingView)
                 }
             case let .single(index):
-                interfaceBehaviour.updatePageIndex(index, pagingView: pagingView)
-            }
-            interfaceBehaviour.updateLabel(label: pageHud.label, pagingView: pagingView, denominator: numberOfPages)
-            interfaceBehaviour.snapSliderPosition(slider: pageSlider, pagingView: pagingView)
+                interfaceBehaviour().updatePageIndex(index, pagingView: pagingView)
+            }
+            interfaceBehaviour().updateLabel(label: pageHud.label, pagingView: pagingView, denominator: numberOfPages)
+            interfaceBehaviour().snapSliderPosition(slider: pageSlider, pagingView: pagingView)
             pagingView.currentPageIndex = newValue
         }
         get {

            self.pagingView.endRotate()
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
                // update page index
                self.interfaceBehaviour.snapSliderPosition(slider: self.pageSlider, pagingView: self.pagingView)
                self.interfaceBehaviour.updateLabel(label: self.pageHud.label, pagingView: self.pagingView, denominator: self.numberOfPages)
            }
        }
    }

        registerContents()
        pagingView.reloadData()
        updateHudPosition()
        interfaceBehaviour().snapSliderPosition(slider: pageSlider, pagingView: pagingView)
        interfaceBehaviour().updateLabel(label: pageHud.label, pagingView: pagingView, denominator: numberOfPages)
    }
    
    open func update(contents newContents: [PageContent]) {
