Allow listeners to register with a domain object's
mutation capability to detect changes to that
domain object. Allows other components to respond
to these changes without resorting to polling on
timestamp or similar. WTD-1329.
Allow undefined as an explicit value for a domain
object's modification timestamp (as set via the
mutation capability.) Avoids a bug in minimal auto-refresh,
being added for WTD-1221.
Update capability interfaces for persistence and mutation to
track timestamps of both changes and persistence calls.
Helps distinguish when refreshes should be allowed, which in
turn will be used to support Overwrite behavior when
Save conflicts are detected. WTD-1033.
Use a fast-promise approach (instead of ) when handling
mutation of domain objects, to ensure that mutation resolves
during the current tick. Needed for drag interactions of
WTD-931.
Fix an edge case in the mutation capability where model
data could be lost during a mutation; this supports
auto-mutate/persist functionality for representations,
which allows Layout editing (transitioned for WTD-535)
to be persisted thereby.