+ /**
+ * Returns the name of this track.
+ *
+ * @return The name of this track
+ */
+ public String getName();
+
+ /**
+ * Sets the name of this track.
+ *
+ * @param name
+ * The name of this track
+ * @return This track
+ */
+ public Track setName(String name);
+
+ /**
+ * Returns all artists involved in this track.
+ *
+ * @return All involved artists in preferred order
+ */
+ public List<Artist> getArtists();
+
+ /**
+ * Sets all artists involved in this track.
+ *
+ * @param artists
+ * All involved artists in preferred order
+ * @return This track
+ */
+ public Track setArtists(List<Artist> artists);
+
+ /**
+ * Returns all styles of this track.
+ *
+ * @return All styles of this track
+ */
+ public Collection<Style> getStyles();
+
+ /**
+ * Sets all styles of this track.
+ *
+ * @param styles
+ * All styles of this track
+ * @return This track
+ */
+ public Track setStyles(Collection<? extends Style> styles);
+
+ /**
+ * Returns the name of this remix. If this track is not a remix,
+ * {@code null} is returned.
+ *
+ * @return The name of this remix, or {@code null} if this track is not a
+ * remix
+ */
+ public String getRemix();
+
+ /**
+ * Sets the name of the remix.
+ *
+ * @param remix
+ * The name of this remix, or {@code null} if this track is not a
+ * remix
+ * @return This track
+ */
+ public Track setRemix(String remix);
+
+ /**
+ * Returns all remix artists involved in this track.
+ *
+ * @return All remix artists involved in this track
+ */
+ public List<Artist> getRemixArtists();
+
+ /**
+ * Sets all remix artists involved in this track.
+ *
+ * @param remixArtists
+ * All remix artists involved in this track
+ * @return This track
+ */
+ public Track setRemixArtists(List<Artist> remixArtists);
+
+ /**
+ * Returns all tracks that are somehow related to this track.
+ *
+ * @return All tracks that are related to this track
+ */
+ public Map<Relationship, Collection<Track>> getRelatedTracks();
+
+ /**
+ * Sets all related tracks.
+ *
+ * @param relatedTracks
+ * All related tracks
+ * @return This track
+ */
+ public Track setRelatedTracks(Map<Relationship, Collection<Track>> relatedTracks);