caching results for performance reasons
some cleanup
LFMTrack committing to save it
Switching to protocols