Interface prototype to collect metadata

Interface prototype to collect integrated service metadata
I am not really getting why this is a list. Do we plan to keep an history of some sort for metadata? If not, service_metadata should probably just be a dict not a list of dicts?
Also if it's only a dict why not keep it at the class level as an attribute?