refreshStream( stream ) {
		if ( stream.isDestroyed || stream.isDeleted ) { return; }

		const { stream: twitchStream } = stream;
		const reload = () => twitchStream.reload();
		let promise = Promise.reject();

		// try to reload the record at least 3 times
		for ( let i = 0; i < 3; i++ ) {
			promise = promise.catch( reload );
		}

		// queue another refresh
		promise.then( () => {
			setTimeout( () => this.refreshStream( stream ), streamReloadInterval );
		});
	}
@param {Stream} stream
TODO: refactor this