public void Update() { _outputMediator.LockOutputs(); try { Outputs.AsParallel().ForAll(x => { x.Update(); x.IntentChangeCollection = _GenerateChangeCollection(x); }); _UpdateModuleState(_ExtractIntentChangesFromOutputs().ToArray()); } finally { _outputMediator.UnlockOutputs(); } }