Persist widgets across page refresh

Uses the new persistence API

Based on top of #7162