       layer.addAnimation(squeezeY, forKey: "squeezeY")
       return
     case .Flash:
-      let animation = CABasicAnimation()
-      animation.keyPath = "opacity"
+      let animation = CABasicAnimation(keyPath: "opacity")
       animation.fromValue = 1
       animation.toValue = 0
       animation.duration = CFTimeInterval(duration)

      rotation.beginTime = CACurrentMediaTime() + CFTimeInterval(delay)
      layer.addAnimation(rotation, forKey: "rotation")
      
      let positionX = CAKeyframeAnimation()
      positionX.keyPath = "position.x"
      positionX.values = [0, 30*force, -30*force, 30*force, 0]
      positionX.keyTimes = [0, 0.2, 0.4, 0.6, 0.8, 1]
      positionX.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)

      layer.addAnimation(animation, forKey: "flash")
      return
    case .Wobble:
      let rotation = CAKeyframeAnimation(keyPath: "transform.rotation")
      rotation.values = [0, 0.3*force, -0.3*force, 0.3*force, 0]
      rotation.keyTimes = [0, 0.2, 0.4, 0.6, 0.8, 1]
      rotation.duration = CFTimeInterval(duration)
