Always call state.update