Move ReaderEvent to Shared

It is also used by the simulator.