[controlwidget] Handle rip state updates.  Wait 30s before unsubscribing to state changes after last client disconnects