anchor.diff:  -export([i/0, list/1]).
   -export([subscribe/1, subscribe/2, subscribe/3]).
   -export([unsubscribe/1]).
  +-export([invalidate/2]).
   -export([get_root/2, get_match/3, get/4]).
   
   -include_lib("lager/include/log.hrl").
  
positive.code: %%% API
  %%%===================================================================
  
  %% debug & test
  start() ->
      start([]).
  start(Opts) ->
      gen_server:start({local, ?SERVER}, ?MODULE, [Opts], []).
  
  i() ->
      gen_server:call(?SERVER, {list,[]}).
  
negative.code: 
  unsubscribe(Ref) ->
      gen_server:call(?SERVER, {unsubscribe,Ref}).
  
  %% clear all attributes for interface Name
  invalidate(Name,Fields) ->
      gen_server:call(?SERVER, {invalidate,Name,Fields}).
  
  get_root(What,Fam) ->
      get(What,Fam,[root,match,request],[]).
  