anchor.diff:                      PState = TraceEntry#state.passed_state,
                       InfectedMsg = epidemic_reply_msg(PState, From, To, Msg),
                       ?TRACE("delivering msg to execute: ~.0p~n", [InfectedMsg]),
  -                    comm:send(comm:make_global(To), InfectedMsg),
  +                    %% Send infected message with a shepherd. In case of send errors,
  +                    %% we will be informed by a {send_error, Pid, Msg, Reason} message.
  +                    comm:send(comm:make_global(To), InfectedMsg, [{shepherd, self()}]),
                       lists:keystore(TraceId, 1, State, {TraceId, NewEntry})
               end
       end;
  
positive.code: on({on_handler_done, TraceId}, State) ->
      ?TRACE("on handler execution done~n", []),
      gen_component:post_op(State, {deliver, TraceId});
  
  on({get_infos, Client, TraceId}, State) ->
      case lists:keyfind(TraceId, 1, State) of
  
negative.code:             _ = erlang:put(Key, Q),
              Queues
      end.
  
  -spec get_passed_state(gc_mpath_msg()) -> passed_state().
  get_passed_state(Msg) ->
      element(3, Msg).
  
  -spec get_trace_id(passed_state()) -> trace_id().
  get_trace_id(State) ->
      element(1, State).
  