adapt widgets to new refresh/repaint API
update base: use new refresh wait queue