Genericise Sender and Receiver on server side and extract common
StringMessageSender and StringMessageReader into a common project
ignore unneeded warning
Adjust generics to allow for super type parameters in the callback
Genericize client