#TODO
- Create Caching LastfmService moving cache dependency into service and out of the repository
- Split LastfmRepository into smaller separate repository objects.
- Create adapters instead of having models do their own conversion
- Convert EasterTimeZone to lazy
- Research switching httpruntime cache to memory cache
- Once last.fm client is async must chain async/await to api controllers.