                 phaseY = CGFloat(elapsed / duration)
             }
         }
+    }
+    
+    @objc private func animationLoop()
+    {
+        var currentTime: NSTimeInterval = CACurrentMediaTime()
+        
+        updateAnimationPhases(currentTime)
         
         if (delegate != nil)
         {

        _easingX = easingX
        _easingY = easingY
        
        if (_enabledX || _enabledY)
        {
            _displayLink.addToRunLoop(NSRunLoop.mainRunLoop(), forMode: NSRunLoopCommonModes)

    {
        animate(xAxisDuration: 0.0, yAxisDuration: yAxisDuration, easingOption: .EaseInOutSine)
    }
}
