Also, what do you think about moving some or all of the recommendation logic into a method on `Distance`? We can do this post-merge; just a thought for now.