This dispatch method is responsible for identifying which nodes should execute based on
a current key value state and a clean definition graph. It returns a list of nodes that
should be executed, and the path references that they were satisfied with. This exists in
the core implementation because it may be used in client code or our server. It will mutate
the provided ExecutionState to reflect the application of the provided change. Execution state
may internally persist records of what environment this change occurred in.