Another go at making this widget behave

 - This version only updates the settings that the user provides.
   This seems to make the widget behave a bit more normally.