Loads of changes

- Changed some methods to return Tasks
- Change List<Track> to ObservableCollection<Track> for ui updates
- sort tracks visually based on votes