First stab at doing evented IO