Move most of the difficult message handling to a dedicated layer. This merge request only handles the upstream API. More work is needed for the downstream API.
Related to #3.
Move most of the difficult message handling to a dedicated layer. This merge request only handles the upstream API. More work is needed for the downstream API.
Related to #3.