anchor.diff:  send_event(Message, From, {Topic, Subscriber}) ->
   	Subscriber ! {hot_proxy_event, From, {Topic, Message}},
   	ok.
  +
  +ensure_monitor(New, Existing) when is_pid(New) ->
  +	case lists:keyfind(New, 1, Existing) of
  +		{New, _MonRef} -> Existing;
  +		false          ->
  +			MonRef = monitor(process, New),
  +			[{New, MonRef} |Existing]
  +	end.
  
positive.code: 	{ok, #{ subscribers => [] }}.
  
  handle_call({subscribe, Topics}, {From, _}, #{ subscribers := Subs } = State) ->
  	NewSubs = case lists:keyfind(From, 1, Subs) of
  		{From, _MonRef} -> Subs;
  		false          ->
  			MonRef = monitor(process, From),
  			[{From, MonRef} |Subs]
  	end,
  	true = ets:insert(?MODULE, [{Topic, From} || Topic <- Topics]),
  	{reply, ok, State#{ subscribers :=  NewSubs }};
  handle_call(_Request, _From, State) ->
  	{reply, ok, State}.
  
negative.code: 	gen_server:call(?MODULE, {subscribe, Topics});
  subscribe(Topic) -> subscribe([Topic]).
  
  subscribe(Topics, Callback) when is_list(Topics)->
  	gen_server:call(?MODULE, {subscribe, Topics, Callback});
  subscribe(Topic, Callback) -> subscribe([Topic], Callback).
  
  send(Topic, Message) ->
  	gen_server:cast(?MODULE, {send, self(), Topic, Message}).
  
  