React to external I/O events. This is kinda sorta supposed to resemble the Reactor design pattern.
Run the reactor, waiting for events or wakeup signal
Wait for the given IO operation to complete
Wait for the given IO object to become readable
Wait for the given IO object to become writable
[Validate]