use a non-ownership taking widget action
update widget action handling