Bikeshed alert: Can we perhaps always return a `Deferred` here? As far as I can tell `unpause()` doesn't return a `Deferred` and I'd like to avoid having to jump through a bunch of `maybeDeferred()` hoops in the future.