Dialogues can now have multiple open buttons and a notion of which one
was used to open the dialogue. This is useful if you want to share a
dialogue between multiple things.

For example, I intend to use it to allow the same colour picker to be
used for many different layers on a map.