     let enterString: String
     let exitString: String
     var leftButtonAnimation: CAAnimationGroup!
+    var isAnimating = false
     lazy var leftButton: UIButton = {
         let button = self.createButton()
         self.createTapEvent(forButton: button).subscribe(onNext: { _ in

        }
        self.leftButton.layoutIfNeeded()
        self.rightButton.layoutIfNeeded()
    }
    
    // MARK: - Animations

    }
    
    fileprivate func createTapEvent(forButton button: UIButton) -> Observable<Bool> {
        return button.rx.tap.asObservable().filter { !self.isAnimating }.map { _ -> () in
            self.isAnimating = true
            let isToRight = self.state == .left
            self.leftButtonAnimation = self.generateCompleteButtonAnimation(aView: self.leftButton, isToRight: isToRight)
            }.flatMap { _ -> Observable<Bool> in
