This is a rather complicated version of the program screen. In the future, the way how work parts are represented will be simplified. This commit exists for future reference, in case we decide to go back to the original work part representation.
This implements playlist updates and skipping functionality and updates the program screen accordingly.