For more flexibility on transport layer, we need ways to filter (or hook) request/response objects: - RPC client should take a sort of hook callbacks that filter/map request/response objects. - For example, RPC client could add extra headers for custom authentication process through a hook on request objects. - RPC server should take a sort of middlewares that filter/map request/response objects. - For example, RPC server could add authentication process through verifying request headers on a hook.