public void RecalculateOutput() { string output; OutputNode outputNode = GetOutputNode(); if (outputNode != null) { output = outputNode.GetOutput(); } else { output = "Add an 'Output' node to get started"; } if (output != CachedOutput) { CachedOutput = output; OnOutputHasChanged?.Invoke(); } }