# Functions
NewEndpointTable returns an endpoint table that choses a destination endpoint based on a mapping of protocol buffers message name to endpoint name.
NewHandlerTable returns a handler table that locates message handlers based on the message types that they handle.
NewMessageHandler returns a new message handler that dispatches messages to methods on an arbitrary value.
# Structs
Dispatcher is an inbound pipeline stage that routes messages to the appropriate MessageHandler instances according to a "handler table".
Router is an outbound pipeline stage that choses a destination endpoint for unicast messages based on the message type.
# Interfaces
MessageHandler is an interface for application-defined message handlers.
# Type aliases
EndpointTable is set of rules that determine the destination endpoint for unicast messages.
HandlerTable is a set of rules that determines which handlers receive a message of a specific type.