Sat Jan 25 12:43:47 EST 2020

CSP: it would be nice to avoid the copy

It is possible to do that as long as tasks know that messages are only
valid up to the next scheduling point.

But let's not do this.  It's probably better to create a buffer
management scheme, and pass buffer references around.

EDIT: It can be quite simple.  E.g. interrupt uses 2 buffers and is
responsible for swapping them