The back-end will expose only the public APIs to be consumed
by the listeners. The new users server takes care of the users
management.
Other subsystems will follow (i.e. GUI, fedi, blog etc..).
This design will make things easier to both scale and test.
Having a dedicated back-end application allow us to keep the API
stable, while improving the internals.