Channel::writePatch is now virtual only and implemented