Further implementation of base_dialog and base_widget framework