Не надо над TCP делать read/write мапперы навроде Stores.Reader/Writer. Это просто не эффективно, например, если выполнено два вызова WriteByte, то значит по сети надо переслать 1 байт, а потом переслать ещё 1 байт? Нет, здесь паттерн carrier-rider-mapper не применим.Сеть - это не carrier.По сети надо передавать пакеты сообщений (то есть даже не по одному сообщению, а по целой пачке сообщений за раз). Потоковый протокол TCP был изобретён по ошибке. Сейчас уже это поняли и от него начинают отказываются в пользу других протоколов согласно которым по сети течёт не поток байтов, а едут достаточно большого размера сообщения (что-то вроде UDP, но только с гарантированной доставкой, и сообщения произвольного размера).