This class is used by MxDispatcher to interface with an MxClient in a reliable manner. When data is sent reliably, this class is used to fragment and reconstruct sets of data, ensuring that each fragment is either acknowledged by the receiving machine, or sent again.