Move old tests to widgets_test.
Refactor code.
Implement SelectWidget.
Make WidgetBase's Form member private.