Change how preferences are displayed

Also don't request new data from the ISP each time a preference is
changed (unless the changed preference was the API Key)