Mostly done refactoring widgets.