the `position` instead of Media object for previous/current/next is because the calculation of previous/current/next playlist gets stupidly complicated unless I know the indices, and scanning the clip list to get the indices sounds stupidly inefficient