anchor.diff:      V3 = macaroon_verifier:satisfy_general(V2, CheckPaths),
   
       macaroon_verifier:verify(V3, M, Secret).
  +
  +priv_delete_token(State, SessionToken) ->
  +    {ok, Macaroon} = macaroon:deserialize(SessionToken),
  +    TokenId = macaroon:identifier(Macaroon),
  +    maps:remove(TokenId, State).
  
positive.code:     lager:info("Request received: {end_session, ~p} -> Reply: ~p", [SessionToken, Reply]),
      {reply, Reply, State};
  handle_call({proc_req, submit_payload, {User, SessionToken, Payload, Final}}, _From, State) ->
      Reply = priv_submit_payload(User, SessionToken, Payload, State),
      case Final of
          true ->
              {ok, Macaroon} = macaroon:deserialize(SessionToken),
              TokenId = macaroon:identifier(SessionToken)
              NewState =
      lager:info("Request received: {submit_payload, {~p, ~p, ~p, ~p}} -> Reply: ~p",
                 [User, SessionToken, Payload, Final, Reply]),
      {reply, Reply, State}.
  
  %%--------------------------------------------------------------------
  %% @private
  
negative.code:                                          State :: map().
  priv_check_payload(_User, _SessionToken, _Payload, State)
    when map_size(State) == 0 ->
      {error, invalid_token};
  priv_check_payload(User, SessionToken, _Payload, State) ->
      % Here we should perform all sanity checks on the request
  
  