     public func startRefreshing(sendActions: Bool = false) {
         refreshing = true
         
-        if let scrollView = targetView {
-            refreshStart(scrollView, sendActions: sendActions)
-        }
+        if let superview = superview as? UIScrollView {
+            addObserver(superview)
+        }
+        
+        if sendActions {
+            sendActionsForControlEvents(.ValueChanged)
+        }
+        
+        indicator.layer.addAnimation(refreshAnimation(), forKey: ScaleAnimationKey)
+        indicator.startAnimation(expand: true)
     }
     
     public func endRefreshing() {

}

private extension SpringIndicator.Refresher {
    private func setupIndicator() {
        indicator.lineWidth = 2
        indicator.lotateDuration = 1

            return initialInsetTop + (refreshing ? bounds.height : 0)
        }
        
        public convenience override init() {
            self.init(frame: CGRect.zeroRect)
        }
        
        override init(var frame: CGRect) {
