anchor.diff:  
   -spec init(dht_node_state:db_selector()) -> state().
   init(DBSelector) ->
  -    comm:send_local(self(), {learnt_cmd_poller}),
       {?PDB:new(?MODULE, [set]), DBSelector, 0, [], []}.
   
   
  
positive.code:                         end
                      end, waiting_clients(State)),
  
      NewState = set_waiting_clients(State, NewList),
  
      comm:send_local_after(?WRITE_DONE_POLLING_PERIOD, self(), {learnt_cmd_poller}),
      NewState;
  
  
  
negative.code:     ReqId = uid:get_pids_uid(), %% unique identifier for this request
      PropVal = gset:update_add({ReqId, UpdateFun}, gset:new()),
  
      case waiting_clients(NewState) of
          [] ->
              %% we do not poll currently as the wait set was empty -> start polling
              comm:send_local_after(?WRITE_DONE_POLLING_PERIOD, self(), {learnt_cmd_poller});
          _ ->
              %% we are already polling
              ok
      end,
      NewState2 = add_waiting_client(NewState, {ReqId, Key, Client}),
      gen_component:post_op({receive_value, Key, DataType, PropVal},  NewState2);
  
  %% check which commands are learnt to notify the client
  on({learnt_cmd_poller}, State) ->
      %% notfiy all clients whose write was completed and remove the respective requests
      %% from the wait set
      NewList =
         lists:filter(fun({CmdId, Key, Client}) ->
                          case get_entry({learner, Key}, tablename(State)) of
  