anchor.diff:  -behaviour(gen_server).
   
   %% API
  --export([start_link/1, join/1, get/1, put/2]).
  +-export([start_link/1, get/1, put/2, has_key/1, delete/1]).
   
   %% gen_server callbacks
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
positive.code: %% @doc Handling call messages
  %% @end 
  %%--------------------------------------------------------------------
  handle_call(_Request, _From, State) ->
      Reply = ok,
      {reply, Reply, State}.
  
  %%--------------------------------------------------------------------
  %% @spec handle_cast(Msg, State) -> {noreply, State} |
  
negative.code: %% @end 
  %%--------------------------------------------------------------------
  start_link(_) ->
    gen_server:start_link({local, mediator}, ?MODULE, [], []).
  
  get(Key) -> 
    gen_server:call(mediator, {get, Key}).
  
  put(Key, Value) -> 
    gen_server:call(mediator, {put, Key, Value}).
  
  has_key(Key) -> 
    gen_server:call(mediator, {has_key, Key}).
  
  delete(Key) ->
    gen_server:call(mediator, {delete, Key}).
  
  
  
  