Tk::Role::Dialog is meant to be used as a Moose role to be composed for easy Tk
dialogs creation.

It will create a new toplevel with a title, and possibly a header as well as
some buttons.

One can create the middle part of the dialog by providing a _build_gui() method,
that will receive a Tk::Frame where widgets are supposed to be placed.

The attributes (see below) can be either defined as defaults using the
_build_attr() methods, or passed arguments to the constructor call. The only
mandatory attribute is parent, but you'd better provide some other attributes if
you want your dialog to be somehow usable! :-)

WWW: https://metacpan.org/release/Tk-Role-Dialog