refractoring playlistcontrol