Data Model
Image. Image has a file (stored in an internal storage) and metadata. An Image is immutable. If a change is required, a new image shall be uploaded. This is to prevent unexpected consequences of an image change for existing usages.
Image Type. Every Image shall be assigned to an Image Type. Any Mosaic service can register its image types (sending messages to the Image Service). Image Type has no semantic in the context of the Image Service, but they can be interpreted by the owning service.
Image Tag. Users can tag Images. Other services can give meaning to the tags.