code: @SafeVarargs
      public final void waterfall(final C context, final Outcome<C> outcome, final Function<C>... functions) {
          _series(context, outcome, functions);
      }
docs: Runs an array of functions in series, working on a shared context.
  However, if any of the functions pass an error to the callback,
  the next function is not executed and the outcome is immediately called with the error.