anchor.diff:  
   on({cleanup, TraceId}, State) ->
       case lists:keytake(TraceId, 1, State) of
  -        {value, _Tuple, TupleList2} -> TupleList2;
  +        {value, {TraceId, TraceEntry}, TupleList2} ->
  +            state_cleanup(TraceEntry),
  +            TupleList2;
           false                       -> State
       end.
   
  
positive.code:     gen_component:post_op(State, {deliver, TraceId});
  
  on({get_infos, Client, TraceId}, State) ->
      Entry = lists:keyfind(TraceId, 1, State),
      case Entry of
          false ->
              comm:send(Client, {get_infos_reply, []});
          {TraceId, TraceEntry} ->
  
negative.code:             passed_state = passed_state_new(TraceId, {proto_sched, Logger}),
              num_possible_executions = 1
            }.
  
  %% @doc Clean-up the given state and anything left in the process dictionary.
  -spec state_cleanup(State::state()) -> ok.
  state_cleanup(#state{msg_queues = Queues, msg_delay_queues = DelayQueues}) ->
      % remove queues from erlang dictionary:
      _ = [erlang:erase(Key) || Key <- Queues],
      _ = [erlang:erase(Key) || Key <- DelayQueues],
      ok.
  
  -spec add_message(comm:mypid(), comm:mypid(), comm:message(), local | global, state_t()) -> state_t().
  add_message(Src, Dest, Msg, LorG, #state{msg_queues = OldQueues} = State) ->
  