Do we care about the order of async calls here? (I hadn't thought about that though, so it might be important in other places)

I kinda maybe sorta agree on the dependencies thing. But since this is an idiom that is used a lot of places, perhaps we could add our own Utils.after?

```js
    function after(n, func) {
      if (n < 1) {
        return func();
      }
      return function() {
        if (--n < 1) {
          return func.apply(this, arguments);
        }
      };
    }
```
Copy-pasta from lodash src. Perhaps your version could be made into a util. function as well? I think my main concern is code duplication / what is in my eyes ugly code / a lot of code that is not completely straight forward to understand