extracting duplicate download logic, giving the playlist an order