worker: Refactor playlist worker to be reusable/testable