anchor.diff:  %% @doc Call message handler callbacks
   %% @end
   %%--------------------------------------------------------------------
  +handle_call({listen, Port}, _From, State = #state{listener=undefined}) ->
  +    {ok, L} = tcp_server:listen(Port, [{client_fn, fun handle_client/2}]),
  +    {reply, {ok, L}, State#state{listener=L}};
  +handle_call({listen, Port}, _From, State = #state{listener=Pid}) when is_pid(Pid) ->
  +    {reply, {already_running, Pid}, State};
  +
   handle_call(Call, _From, State) ->
       ?WARN("Unexpected call ~p.", [Call]),
       {noreply, State}.
  
positive.code:     ?WARN("Unexpected info ~p", [Info]),
      {noreply, State}.
  
  %%--------------------------------------------------------------------
  %% @private
  %% @spec terminate(Reason, State) -> void()
  
negative.code: 
  shutdown(Server) ->
      gen_server:call(Server, shutdown).
  
  listen(Server, Port) ->
      gen_server:call(Server, {listen, Port}).
  
  %%====================================================================
  %% gen_server callbacks
  