Do you need `setImmediate` on L15/L17? Both of these calls are within the callback to `@options.fn`, which is supposed to be async.