anchor.diff:  	{reply, ok, State}.
   
   handle_cast({send, From, Topic, Message}, State) ->
  -	[send_event(Message, From, Rec)|| Rec <- ets:lookup(?MODULE, Topic)],
  +	[send_event(Message, From, Topic, Rec)|| Rec <- lookup(Topic)],
   	{noreply, State};
   handle_cast(_Msg, State) ->
   	{noreply, State}.
   
   handle_info({'DOWN', Ref, _Type, Subscriber, _Exit}, #{ subscribers := Subs } = State) ->
  -	ets:select_delete(?MODULE, [{{'_',Subscriber},[],[true]}]),
  +	ets:select_delete(?MODULE, [
  +		{{'_',Subscriber},[],[true]},
  +		{{'_',{Subscriber,'_'}},[],[true]}
  +	]),
   	{noreply, State#{ subscribers := Subs -- [{Subscriber, Ref}] }};
   handle_info(_Info, State) ->
   	{noreply, State}.
  
positive.code: 	end,
  	case ets:lookup(?MODULE, {Parent, <<"#">>}) of
  		[]     -> Callbacks;
  		[{_, Data}] -> [Data |lists:flatten([ do_lookup(NewParent, ThisPath, StarCallbacks) || ThisPath <- subpaths(Path)])]
  	end.
  
negative.code: 		Parent =/= null -> << Parent/bits, $., Label/bits >>
  	end,
  	NewCallbacks = resolve_wildcards(Parent, NewParent, [], Callbacks),
  	ets:lookup(?MODULE, {Parent, Label}) ++ NewCallbacks;
  do_lookup(Parent, [Label |Path], Callbacks) ->
  	NewParent = if
  		Parent ==  null -> Label;
  