 
 class OHCircleSegue: UIStoryboardSegue {
     
-    private let expandDur: CFTimeInterval = 0.35
-    private let contractDur: CFTimeInterval = 0.15
+    private static let expandDur: CFTimeInterval = 0.35
+    private static let contractDur: CFTimeInterval = 0.15
     private static let stack = Stack()
+    private static var isAnimating = false
     
     var circleOrigin: CGPoint
     private var shouldUnwind: Bool

    
    // MARK: Animation delegate
    
    override func animationDidStop(anim: CAAnimation, finished flag: Bool) {
        if !shouldUnwind {
            sourceViewController.presentViewController(destinationViewController, animated: false, completion: nil)
        } else {

        animation.toValue = destinationPath
        animation.removedOnCompletion = false
        animation.fillMode = kCAFillModeBoth
        animation.duration = shouldUnwind ? OHCircleSegue.contractDur : OHCircleSegue.expandDur
        animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)
        animation.delegate = self
        return animation
