 
 extension Bakery {
 
+  // MARK: - Bezier chains
+
+  /**
+  Chain gets executed when the first animate blocks of animations are done.
+
+  - Parameter delay: The delay that this chain should wait to be triggered.
+  - Parameter duration: The duration of the animation.
+  - Parameter curve: The animation curve.
+
+  - Returns: A series of bakes that you can configure with all the animatable properties.
+  */
   public func chain(delay delay: NSTimeInterval = 0, duration: NSTimeInterval = 0.5,
     curve: Animation.Curve = .Linear, animations: Bake -> Void) -> Bakery {
       animations(bezier(1, delay, duration, curve)[0])

      return Bakery.bakery
  }

  public func chain(delay: NSTimeInterval = 0, duration: NSTimeInterval = 0.5,
    curve: Animation.Curve = .Linear, animations: (Bake, Bake, Bake) -> Void) -> Bakery {
      let bakes = bezier(3, delay, duration, curve)

      return Bakery.bakery
  }

  /**
   Chain gets executed when the first animate blocks of animations are done.

   - Parameter delay: The delay that this chain should wait to be triggered.
   - Parameter duration: The duration of the animation.
   - Parameter curve: The animation curve.

   - Returns: A series of bakes that you can configure with all the animatable properties.
   */
  public func chain(delay: NSTimeInterval = 0, duration: NSTimeInterval = 0.5,
    curve: Animation.Curve = .Linear, animations: (Bake, Bake, Bake, Bake) -> Void) -> Bakery {
      let bakes = bezier(4, delay, duration, curve)
