Major cleanup for widgets with external values