Takes a raw kernel-emitted file descriptor and registers its events into the event loop for async processing NOTE: If it's a socket, it must be made non-blocking before being passed here. NOTE: By default dispatched events are READ, WRITE, and ERROR; enabling 'stateful' adds CONNECT and CLOSE
Removes the event from the event loop, closing the file descriptor if necessary, and cleans up the underlying resources.
Registers the signal handler in the event loop
Human-readable string describing the error
Returns the Thread that created this object.
Used to diagnose errors when run() or kill() returns false