Factored out the generic communication code.
Removed the pointless MaybeStartingFrom functions as supplying mempty suffices.