anchor.diff:              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) ->
  
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: 
  on({cleanup, TraceId}, State) ->
      case lists:keytake(TraceId, 1, State) of
          {value, {TraceId, TraceEntry}, TupleList2} ->
              state_cleanup(TraceEntry),
              TupleList2;
          false                       -> State
      end.
  
  