anchor.diff:      {get_values_all, CBModule::cb_module(), SourcePid::comm:mypid()} |
       {stop_gossip_task, CBModule::cb_module()} |
       no_msg
  -).
  +.
   
   -type message() :: bh_message() | cb_message().
   
  
positive.code:         {Key, Value} -> Value;
          undefined ->
              log:log(error, "[ gossip ] Take of ~w in ~w failed", [Key, State]),
              error(lookup_failed, [Key, State])
      end.
  
  -spec state_set(Key::state_key(), Value::any(), State::state()) -> ok.
  
negative.code:         {Key, Value} -> Value;
          undefined ->
              log:log(error(), "[ gossip ] Lookup of ~w in ~w failed", [Key, State]),
              erlang:error(lookup_failed, [Key, State])
      end.
  
  -spec state_get_raw(Key::state_key(), State::state()) -> any().
  