Abstract
Base contract shared by all media entities (MainMedia, Track).
Every entity carries a unique identifier, a discriminated MediaEntityType, and can produce a serializable MediaEntityState snapshot via state.
Unique identifier (UUID).
Discriminator indicating whether this entity is a main media or a track.
Serializable state snapshot of this entity.
Base contract shared by all media entities (MainMedia, Track).
Every entity carries a unique identifier, a discriminated MediaEntityType, and can produce a serializable MediaEntityState snapshot via state.