Cleaned up API.
Added affinity tracking.
Moved logic to DefaultJukebox.cs
Added EF migrations.