     
     func internalInit() {
         displayLink = CADisplayLink(target: self, selector: Selector("displayLinkTick"))
+        displayLink?.addToRunLoop(NSRunLoop.mainRunLoop(), forMode: NSDefaultRunLoopMode)
+        displayLink?.paused = true
     }
     
     override public func drawRect(rect: CGRect) {

            progress += renderTime
            if progress >= destinationProgress {
                progress = destinationProgress
                displayLink?.removeFromRunLoop(NSRunLoop.mainRunLoop(), forMode: NSDefaultRunLoopMode)
                return
            }
        }
        
        if destinationProgress < progress {
            progress -= renderTime
            if progress <= destinationProgress {
                progress = destinationProgress
                displayLink?.removeFromRunLoop(NSRunLoop.mainRunLoop(), forMode: NSDefaultRunLoopMode)
                return
            }
        }
    }
    

        
        if animated {
            destinationProgress = newProgress
            displayLink?.paused = false
        } else {
            progress = newProgress
        }
