Compare with zero.  Simplify unhandledRejection queueing
Simplify delay and timeout a bit
Add custom TimeoutError