Client and server classes that can be extended to make RPC modules for different transports