be/popupbubble: admits data from the dialog correctly

Before, there was no separation of data from its effects on the list. We now
separate those two. The dialog only hands back the array of selected items,
and the list only populates based on that array.

- [x] @Attamusc