pushed concept of reading / writing messages down to the comms layer