In this function there are uses `self.playing`, `self.is_playing`, `playing`, and `playbackstatus`, which seems quite hard to follow. Can this be simplified at all?