Ich bin so einer, der Vorschläge am Besten am Beispiel versteht.
Deshalb biete ich für solche Sachen dann auch gelegentlich so ein Test-Plugin, damit andere auch wissen und sehen, was ich meine
Was mir nur bei der Variante mit dem instantiateDialog aufgefallen ist:
Das widget bei gelb aus dem Dialog liegt nicht abgedunkelt im Hintergrund beim Einblenden einer Messagebox, sondern leuchtet deutlich kräftiger als die anderen beiden widgets.
Wenn du das nur für dich verwendest, kannst du auch die Variante "blau" nutzen.
Variante grün und blau sind nur fehlerbehaftet, wenn ein User sich das widget ggf. anders skinnt und dann mit dem momentanen Code das richtige GUI-Element nicht gefunden wird.