anchor.diff:           load/3,
            action/3]).
   
  --record(state, {conn      :: dbus_connection(),
  -                proxy     :: dbus_proxy(),
  -                i_mixin   :: boolean(),
  -                i_action  :: boolean()}).
  +-record(state, {conn       :: dbus_connection(),
  +                proxy      :: dbus_proxy(),
  +                i_mixin    :: boolean(),
  +                i_action   :: boolean()}).
   
   %%%===================================================================
   %%% occi_backend callbacks
  
positive.code: 
  
  update(#state{i_mixin=false}=State, #occi_node{type=capabilities}) ->
                                                  % TODO: handle this in occi_store: do not query backend in case it does not support and return sthig like 403
      {ok, State};
  
  update(#state{proxy=Backend}=State, #occi_node{type=capabilities, data=Mixin}=Node) ->
  
negative.code:     end.
  
  
  find_user_mixins(#state{i_mixin=false}=State, Node) ->
  	{{ok, [Node#occi_node{data={[], [], []}}]}, State};
  
  find_user_mixins(#state{proxy=_Backend}=State, _Node) ->
  	{{ok, [#occi_node{data={[], [], []}}]}, State}.
  
  
  find_bounded(#state{proxy=Backend}=State, Node) ->
  	Cid = occi_node:objid(Node),
  	case dbus_proxy:call(Backend, ?IFACE_BACKEND, <<"List">>, [occi_cid:to_binary(Cid)]) of
  		{ok, {#dbus_variant{value=ColId}, Serial}} ->
  			Res = #occi_node{id=occi_node:id(Node), objid=ColId, etag=Serial, type=occi_collection},
  			{{ok, [Res]}, State};
  		{error, Err} ->
  			{{error, Err}, State}
  	end.
  
  
  find_unbounded(#state{proxy=Backend}=State, Node) ->
  	Id = occi_node:objid(Node),
  	case dbus_proxy:call(Backend, ?IFACE_BACKEND, <<"List">>, [occi_uri:to_binary(Id)]) of
  		{ok, {#dbus_variant{value=ColId}, Serial}} ->
  			Res = #occi_node{id=occi_node:id(Node), objid=ColId, etag=Serial, type=occi_collection},
  			{{ok, [Res]}, State};
  		{error, Err} ->
  			{{error, Err}, State}
  	end.
  
  
  load(#state{proxy=Backend}=State, Node, Opts) ->
  