(#18) visibility: added onShow / onHide for widgets (w.i.p., tests missing)