Java framework for asynchronous event-driven I/O