New widget abstraction and fallout
Tweaks and fixes