anchor.diff:           ,name/1
            ,cache/1
            ,new/2
  +         ,delete/1
            ,new_unique_token_id/0
            ,new_token_id/0
           ]).
  
positive.code:     redis_helper:create_token(ChannelId, Token, Name).
  
  cache(Token = #token{}) ->
      ets:insert(tokens, Token).
  
negative.code: new(Id, ChannelId)
    when is_binary(Id), is_integer(ChannelId) ->
      #token{id = Id, channel_id = ChannelId}.
  -define(TOKEN_TAB, tokens).
  -define(CHAN_TOKEN_TAB, channel_tokens).
  
  id(#token{id=Id}) -> Id.
  channel_id(#token{channel_id=ChannelId}) -> ChannelId.
  name(#token{name=Name}) -> Name.
  
  create_ets_table() ->
      ets:new(?TOKEN_TAB, [named_table, public, set, {keypos, 2}]),
      ets:new(?CHAN_TOKEN_TAB, [named_table, public, bag, {keypos, 2}]).
  
  create(ChannelId, TokenName) when is_integer(ChannelId), is_binary(TokenName) ->
      TokenId = new_unique_token_id(),
  