Massive refactoring to last.fm scrobbling. Not yet complete.