Modelling a playlist that supports shuffle, repeat, and reordering.