client requests should only emit `close` after `abort` or `aborted`. Currently, we can emit errors after `aborted` or `abort` which are confusing and makes userland unnecessarily more complicated.