load(query): Observable<any> {
   return this.http
     .get(
       `https://itunes.apple.com/search?term=${encodeURIComponent(
         query
       )}&media=music`
     )
     .pipe(retryWhen(error => error.pipe(delay(500))), timeout(5000));
 }
 loadSong(songId): Observable<any> {
   return this.http
     .get(`https://itunes.apple.com/lookup?id=${songId}`)
     .pipe(retryWhen(error => error.pipe(delay(500))), timeout(5000));
 }