Seemingly this entire module except the EnsembleID prefix (`kv` here) and the backend module name, will be copy-pasted to every ensabmles-based app. Probably it should be moved to the ensembles app with above mentioned parameters exposed as arguments for the `start_link`.