Updates UI only if state has actually changed
Updates UI on channel change