client-side saving of widgets