Optional
inputsInputs are values that are not part of the state but were used to calculate the state. This is done because we want to allow different for inputs. For example selection is considered an input because in a multi view environment we may not want to selection to change if another view updates the data/state.
Unique Identifier for the change
Used for transactional state. This represents a single record change. This is used by transactional operations, undo/redo, version control, and distributed state. This also includes eventing but this is only for eventing for the final writes to the transaction store any local eventing needs to be handled by the record itself.