/**
  * @param Album $album
  *
  * @return AlbumResource
  */
 public function transform(Album $album)
 {
     return AlbumResource::instance($album->id(), $album->title());
 }
 public static function build(int $id = self::DEFAULT_ID, string $title = self::DEFAULT_TITLE)
 {
     return Album::instance($id, $title);
 }
 /**
  * @param array $data
  *
  * @return Track
  */
 private function buildEntity(array $data) : Track
 {
     $track = Track::instance($data['name'], Album::instance($data['album']['id'], $data['album']['title']));
     $track->setId($data['id']);
     $track->setGenre(Genre::instance($data['genre']['id'], $data['genre']['name']));
     $track->setMediaType(MediaType::instance($data['mediaType']['id'], $data['mediaType']['name']));
     $track->setComposer($data['composer']);
     return $track;
 }