         self.indicator.center = self.arrow.center
     }
     
-    deinit {
-        var scrollView = superview as? UIScrollView
-        scrollView?.removeObserver(self, forKeyPath: contentOffsetKeyPath, context: &kvoContext)
-    }
-    
     public override func willMoveToSuperview(superView: UIView!) {
         superview?.removeObserver(self, forKeyPath: contentOffsetKeyPath, context: &kvoContext)
         if (superView != nil && superView is UIScrollView) {

            }
        }
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)

            scrollViewInsets = (superView as UIScrollView).contentInset
        }
    }
    
    deinit {
        var scrollView = superview as? UIScrollView
        scrollView?.removeObserver(self, forKeyPath: contentOffsetKeyPath, context: &kvoContext)
    }
    
    // MARK: KVO
    
    public override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<()>) {
        
