1. A method of maintaining a list of media item recommendations, the method comprising: using at least a processor and memory for: obtaining a play history instance comprising a media item identifier and a timestamp indicating when a media item corresponding to the media item identifier was played; adding the play history instance to a play history list for the media item corresponding to the media item identifier, wherein the play history list comprises an update function and an update criteria; and in response to determining that the update criteria has been satisfied, updating the list of media item recommendations.