Starting to implement evented IO