Refactor RPC handling to provide multipart-message

Refactor RPC handling to provide multipart-message to the relevant
methods.  This allows for further customization of RPC behaviour in
subclasses.