Move to raw communications handler, rather than buffer protocol