add: ui state update mechanism