Clear[container];
(* create container object infrastructure *)
container~SetAttributes~HoldAll;
containerQ[container[var_Symbol]] := True;
containerQ[___] := False;
container[] :=
With[{s = Unique[containerValue]},
SetAttributes[s, Temporary]; s = Null; container[s]
];
setContainerValue[container[var_], val_] := var = val;
getContainerValue[container[var_]] := var;
container /: Normal[c_container?containerQ] := getContainerValue[c]
(* bind simplest mutation handler *)
ClearAll[myMutationHandler];