Refactored internals to support overlapped IO. Still need to update client API layer in order to bring back to life.