public void UpdateHardware() { hardwareState uiState = readValuesOnUI(); hardwareState changes = getDiscrepancies(stateRecord, uiState); applyToHardware(changes); updateStateRecord(changes); }