             }
             animateViewBackToOrigin()
         }
+    }
+    
+    private func invalidateTimers(){
+     
+        for timer in timers{
+            timer.invalidate()
+        }
+        timers.removeAll()
+        print("timers invalidated")
+        print(timers)
     }
     
     func timerCalled() {

    //Internal varibles
    weak var delegate:BarcelonetaDelegate?
    private var percentage:Int = 100
    private var timer = NSTimer()
    private var timerHasBeenCalledAtLeastOnce = false
    private var elasticPanGesture:UIPanGestureRecognizer! = nil
    private weak var verticalConstraint:NSLayoutConstraint! = nil

        
        if(sender.state == .Began){
            delegate?.barcelonetaDidStartMoving(self)
            //The first timer, that should only be invalidated when the view is released
            let timer = NSTimer.scheduledTimerWithTimeInterval(timerInterval, target: self, selector: #selector(Barceloneta.timerCalled), userInfo: nil, repeats: true);
            timers.append(timer)
            timerHasBeenCalledAtLeastOnce = false
        }
        
