anchor.diff:              {reply, Err, State}
       end;
   
  -handle_call({connect_signal, Name, '_', '_', Path, MFA}, _From, 
  +handle_call({connect_signal, Name, '_', '_', Path, MFA}, _From,
           #state{handlers=Handlers}=State) ->
       Match = [{type, signal},
   	     {sender, Name},
  -	     {path_namespace, Path}], 
  +	     {path_namespace, Path}],
       case do_method(?DBUS_IFACE, ?DBUS_DBUS_ADD_MATCH, [build_match(Match, <<>>)], State) of
  -	{reply, ok, S2} -> 
  -	    Handler = #signal_handler{sender=Name, interface='_', member='_', 
  +	{reply, ok, S2} ->
  +	    Handler = #signal_handler{sender=Name, interface='_', member='_',
   				      path={Path, true}, mfa=MFA},
   	    {reply, ok, S2#state{handlers=[ Handler | Handlers ]}};
   	{reply, {error, Err}, S2} -> {stop, {error, Err}, S2}
       end;
   
  -handle_call({connect_signal, Name, IfaceName, SignalName, Path, MFA}, _From, 
  +handle_call({connect_signal, Name, IfaceName, SignalName, Path, MFA}, _From,
   	    #state{handlers=Handlers}=State) ->
       Match = [{type, signal},
   	     {sender, Name},
  
positive.code: 
  %% @equiv call(Proxy, Ifacename, MethodName, Args, 5000)
  %% @end
  -spec call(Proxy :: dbus_proxy(), IfaceName :: dbus_name(), MethodName :: dbus_name(), Args :: term()) -> 
            ok | {ok, term()} | {error, term()}.
  call(Proxy, IfaceName, MethodName, Args) ->
      call(Proxy, IfaceName, MethodName, Args, ?TIMEOUT).
  
negative.code: 
  %% @doc Connect to a particular signal on a particular children object
  %% @end
  -spec connect_signal(Proxy :: dbus_proxy(),
               Service :: dbus_name(),
               IfaceName :: dbus_name(),
               SignalName :: dbus_name(),
               Path :: binary(),
               MFA :: handler()) ->
                  ok | {error, term()}.
  connect_signal(Proxy, Service, IfaceName, SignalName, Path, MFA) ->
      gen_server:call(Proxy, {connect_signal, Service, IfaceName, SignalName, Path, MFA}).
  