Prior to version 8.6, the KYC engine had the ability to detect only user-initiated changes. The other three types of changes were not taken into account for on-change processing. To overcome this shortcoming, it is possible that your implementation uses some on-change data transforms that are configured to programmatically invoke engine routines such as ReEvalValidQuestions or EvaluateItems when a response for other questions within the KYC types were automatically set. Although running such routines was previously required, this was detrimental to the performance of the engine.
With 8.6, the KYC engine registers all the possible types of changes and reacts to such changes, and therefore the programmatic execution of the engine routines from the on-change data transforms is no longer required, and this can be replaced with a call to SetupResponseChangeList by passing the name of the property that you want to set programmatically.