Decouple read/write behaviour.