       changeButtonColorTo(originalColor)
       return false
     }
+    
     return true
   }
   

  }
  
  private func makeSmallWithDelay(delay: CFTimeInterval) {
    changeTo(.Small, targetLayer: foregroundLayer, delay: delay)
  }
  
  private func makeOriginalWithDelay(delay: CFTimeInterval) {
    changeTo(.Original, targetLayer: foregroundLayer, delay: delay)
  }
  
  private func changeTo(state: ButtonState, targetLayer: CALayer, delay: CFTimeInterval) {
    
    let group = CAAnimationGroup()
    group.duration = animationDuration

  
  override func animationDidStop(anim: CAAnimation, finished flag: Bool) {
    
    let nameValue = anim.valueForKey("name") as? String
    if let name = nameValue {
      
      if name == "makeSmall" && flag == true {
          let targetLayer: CALayer = anim.valueForKey("layer") as! CALayer
          
          CATransaction.begin()
