anchor.diff:  
   -spec publish(binary(), binary()) -> ok.
   %% @doc
  -publish(_Topic, _Payload) ->
  -    %% Write the payload to the topic and then the vnodes call
  -    %% queue:handle_publish offset reply
  -    ok.
  +publish(Topic, Payload) ->
  +    harbinger_coordinator:noreply({Topic, Topic},
  +                               harbinger_topic,
  +                               fun(R) -> {publish, R, Payload} end,
  +                               ?TOPIC_MASTER).
   
   -spec bind(binary(), binary()) -> {ok, non_neg_integer(), non_neg_integer()}.
   %% @doc
  
positive.code:                                fun(R) -> {unbind, R, {queue, Queue}} end,
                                 ?TOPIC_MASTER).
  
  bindings(Topic) ->
      harbinger_coordinator:reply({Topic, Topic},
                                  harbinger_topic,
  
negative.code: %% Types
  %%
  
  -record(s, {partition = 0               :: non_neg_integer(),
              head      = 0               :: non_neg_integer(),
              tail      = 0               :: non_neg_integer(),
              bindings  = gb_sets:empty() :: gb_set(),
              log       = []              :: [binary()]}).
  
  -define(TIMEOUT, 5000).
  
  