Make sure that the form object is flushed whenever state might have changed
If code executed after the state change accesses the form object again, this could be that from a previous state and e.g. hold the wrong form definition. This happens in practice downstream, where the submitting of activities also involves accessing the form definition to e.g. compute the grade based on the questions. Downstream we also cache the formfield specs, so if a spec is dependent on the state, might be wrong in also for future requests.