playlists now listen for changes. closes #6