Refactored IOCP, pulled it into a separate class.