         self.refreshing = true
         self.sendActionsForControlEvents(.ValueChanged)
         self.refreshBlock()
+        self.startRefreshing()
+    }
+    
+    private func startRefreshing() {
         UIView.animateWithDuration(0.25) { () -> Void in
             self.setScrollViewTopInsets(withOffset: self.height)
         }

    
    private func containingScrollViewDidEndDragging(scrollView: UIScrollView) {
        let actualOffset: CGFloat = scrollView.contentOffset.y
        if !self.refreshing && -actualOffset > 60 {
            self.refresh()
        }
    }

    }
    
    private func handleScrollingOnAnimationView(animationView: UIView, withPullDistance pullDistance: CGFloat, withPullRatio pullRatio: CGFloat, withPullVelocity pullVelocity: CGFloat) {
        if pullDistance < self.height {
            self.circleView.alpha = pullDistance / self.height
            self.progressLayer.strokeEnd = pullDistance / self.height * 0.9
        } else {
            self.circleView.alpha = 1
            self.progressLayer.strokeEnd = 0.9
