It's a little bit funny that we do this here. It seems like `DropdownButton` should own updating the list when the content changes. We would need a bit more of a model in that class (with add/remove methods), probably.

(This is the kind of thing that React would handle automatically :))