This allows us to hide the DB ID from external-to-the-package users of the types and will allow us to add model-level caching as well