eventLoop loop;
void on_accept(fd) { loop.register(fd, READ); }
void on_read(fd, input) {
	output = process(input);
	loop.register(fd, WRITE, output);
}
void on_write(fd) { close(fd); }
void server(int listen_socket) {
	loop.register(listen_socket, ACCEPT);
	loop.run();
}