     
     // MARK: Properties
     
-    weak var scrollView: UIScrollView?
+    var scrollView: UIScrollView? { return superview as? UIScrollView }
     
     var view: UIView? {
         didSet {

    // MARK: Initialization

    init(scrollView: UIScrollView) {
        self.scrollView = scrollView
        super.init(frame: .zero)
        scrollView.addSubview(self)
    }

        handler = nil
    }
    
    public override func willMove(toSuperview newSuperview: UIView?) {
        super.willMove(toSuperview: newSuperview)
        
        if newSuperview == nil, superview is UIScrollView {
            stopObserver()
        }
    }
    
    public override func didMoveToSuperview() {
        super.didMoveToSuperview()
        
        if superview is UIScrollView {
            startObserver()
        }
    }
    
