         UIView.addKeyframeWithRelativeStartTime(start, relativeDuration: timeStep) {
           self.transform = CGAffineTransformIdentity
         }
-      }, completion: nil)
+      }, completion: completion)
     return self
   }
 

    - Parameters:
      - duration: duration of the animation, in seconds
      - delay: delay before the animation starts, in seconds
   */
  func fadeIn(duration: NSTimeInterval = 0.25,
              delay: NSTimeInterval = 0) -> UIView {
    hidden = false
    alpha = 0
    UIView.animateWithDuration(
      duration, delay: delay, options: .CurveEaseInOut, animations: {
        self.alpha = 1
      }, completion: nil)
    return self
  }


   - Parameters:
     - duration: duration of the animation, in seconds
     - delay: delay before the animation starts, in seconds
     - completion: block executed when the animation ends
   */
  func fadeOut(duration: NSTimeInterval = 0.25,
               delay: NSTimeInterval = 0,
               completion: ((Bool) -> Void)? = nil) -> UIView {
    UIView.animateWithDuration(
      duration, delay: delay, options: .CurveEaseOut, animations: {
        self.alpha = 0
      }, completion: completion)
    return self
  }

