I'm not sure this is going to work because `this.ending` needs to be truthy for `this.end()` to be *re-invoked* by `processQueue()` and `addCall()`. The original version should be fine; unless you're seeing something I'm not.