We don't use `deferred` and `promises` anywhere else, and I'd like to avoid introducing them here