If possible, let's put the bulk of this logic into MessageSender rather than having this class know things about SendReceiveService.