anchor.diff:                                          user_info = UserInfo } = dict:fetch(WatchId, State#state.watch_dict),
                                       lists:foldr(fun
                                               ({id_attr, ThisId, Attr}, Acc2) when ThisId =:= Id, Attr =:= KeyString ->
  -                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId, Acc2);
  +                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId),
  +                                                Acc2;
                                               ({id_attr, ThisId, "*"}, Acc2) when ThisId =:= Id ->
  -                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId, Acc2);
  +                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId),
  +                                                Acc2;
                                               ({set_attr, ThisModule, Attr}, Acc2) when ThisModule =:= Module, Attr =:= KeyString ->
  -                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId, Acc2);
  +                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId),
  +                                                Acc2;
                                               ({set_attr, ThisModule, "*"}, Acc2) when ThisModule =:= Module ->
  -                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId, Acc2);
  +                                                execute_callback(CallBack, updated, {NewRecord, Key, OldVal, NewVal}, UserInfo, WatchId),
  +                                                Acc2;
                                               (_, Acc2) -> Acc2
                                           end, Acc1, WatchList)
                               end, Acc0, AllWatchers)
  
positive.code:                             user_info = UserInfo } = dict:fetch(WatchId, State#state.watch_dict),
                          lists:foldr(fun
                                  ({set, TopicString}, Acc1) when TopicString =:= PluralModel ->
                                      execute_callback(CallBack, deleted, Record, UserInfo, WatchId, Acc1);
                                  ({id, TopicString}, Acc1) when TopicString =:= Id ->
                                      execute_callback(CallBack, deleted, Record, UserInfo, WatchId, Acc1);
                                  (_, Acc1) ->
                                      Acc1
                              end, Acc0, WatchList)
  
negative.code:         end, State, Tree, Now),
      NewState#state{ ttl_tree = NewTree }.
  
  execute_callback(Fun, Event, EventInfo, UserInfo, WatchId) when is_function(Fun) ->
      erlang:spawn(fun() ->
                  Result = case proplists:get_value(arity, erlang:fun_info(Fun)) of
                      2 ->
                          Fun(Event, EventInfo);
                      3 ->
                          Fun(Event, EventInfo, UserInfo)
                  end,
                  case Result of
                      {ok, cancel_watch} -> 
                          boss_news:cancel_watch(WatchId);
                      {ok, extend_watch} -> 
                          boss_news:extend_watch(WatchId);
                      _ ->
                          ok
                  end
          end).
  