- Add interfaces/abstract classes for data fetching
- add property: has fetched data
- Artist object should conform to Album object, where you can pass data in via constructor or fetch it
- add error handling to api fetches
- playlist builder
- add rate limiting (see https://developer.spotify.com/documentation/web-api/concepts/rate-limits)
- finish reorder tracks logic
- add pagination to search results
- entity interface for getId and getName should not apply to Playlists. Separate entity interface and data fetching interface
