design dui_listener_handler mechanism