Let TaskPipe derive from ConnectionStream and yield in the read/write methods to avoid blocking the thread in uncontended read/write situations.