We currently support multiple metadata schemas in the metadata descriptor of the resource.
We could allow loading a different schema when the collection is created.
db = Collection(packages=..., meta_data_schem='echemdb')
If no schema is provided, we could simply use metadata as a descriptor.
In addition, we could implement a method get_metadata, which allows accessing different kinds of metadata in the metadata descriptor, which would otherwise require
metadata = [metadata for metadata in entry.package.get_resource('echemdb').custom["metadata"] if 'mds_name' in metadata][0]
# replace by
metadata = entry.get_metadata('mds_name')