illusion new V{ } clone >>connections V{ } clone >>dependencies 0 >>ref
swap >>quot over >>model [ add-dependency ] keep ;
-: backtalk ( value object -- ) [ quot>> [undo] call( a -- b ) ] [ model>> ] bi (>>value) ;
+: backtalk ( value object -- ) [ quot>> [undo] call( a -- b ) ] [ model>> ] bi set-model ;
-IN: accessors
-M: illusion (>>value) ( value object -- ) swap throw [ call-next-method ] 2keep
- dup [ quot>> ] [ model>> ] bi and
- [ backtalk ]
- [ 2drop ] if ;
\ No newline at end of file
+M: illusion update-model ( model -- ) [ [ value>> ] keep backtalk ] with-locked-model ;
\ No newline at end of file