generic modal, pending use widget engine