The backend is a service that takes data and responds to it asynchronously.
As this component covers a lot of use cases, interface to this layer is supposed to be flexible.
It might be useful to break this component down into smaller units, but we have chosen not to walk down that rabbit hole right now.