rewrite to using a service and alarm to update the widgets.