anchor.diff:  publish(Domain, #uce_event{location=Location, type=Type} = Event) ->
       ?COUNTER('pubsub:publish'),
       %% Publish on the domain
  -    gen_server:call(?MODULE, {publish, Domain, "", Type, Event}),
  +    gen_server:cast(?MODULE, {publish, Domain, "", Type, Event}),
       case Location of
           "" ->
               ok;
           Location ->
  -            gen_server:call(?MODULE, {publish, Domain, Location, Type, Event})
  +            gen_server:cast(?MODULE, {publish, Domain, Location, Type, Event})
       end.
   
   subscribe(Pid, Domain, Location, From, "", Parent) ->
  
positive.code:                                         ]),
                            qlc:eval(Query)
                    end,
      case mnesia:transaction(Transaction) of
          {aborted, _} ->
              {error, bad_parameters};
          {atomic, Subscribers} ->
              Subscribers
      end.
  
negative.code:                          {attributes, record_info(fields, uce_mnesia_pubsub)}]),
      {ok, {}}.
  
  handle_call(_Type, _From, State) ->
      {reply, error, State}.
  
  handle_cast({publish, Domain, Location, Type, #uce_event{from=From, parent=Parent} = Event}, State) ->
      Subscribers = get_subscribers(Domain, Location, Type, From, Parent),
      [Subscriber#uce_mnesia_pubsub.pid ! {event, Event} || Subscriber <- Subscribers],
      {noreply, State};
  handle_cast({subscribe, Domain, Location, From, Type, Parent, Pid}, State) ->
      mnesia:transaction(fun() ->
                                 mnesia:write(#uce_mnesia_pubsub{pid=Pid,
  