Ultimately we will need to provide an API layer. The first use case is maybe the CLI, so that it will use the API and not directly the libraries.