Maybe. Perhaps it is just best to get rid of it in the upper layers since this is an internal API.  I merged those two methods in both transports because they had so much duplicated code between them.