anchor.diff:  %%                                       {stop, Reason, State}
   %% Description: Handling all non call/cast messages
   %%--------------------------------------------------------------------
  +handle_info({stopped_backend, Backend}, State) ->
  +  backend:update(Backend#backend{status = down}),
  +  {noreply, State};
  +  
   handle_info({stay_connected_to_seed, Seed}, State) ->
     join(Seed),
     {noreply, State};
  
positive.code:   
  request_to_start_new_backend(Name) -> 
    gen_server:cast(?SERVER, {request_to_start_new_backend, Name}).
  
  dump(Pid) ->
    gen_server:call(?SERVER, {dump, Pid}).
  
negative.code: %%                                      {stop, Reason, State}
  %% Description: Handling cast messages
  %%--------------------------------------------------------------------
  handle_cast({request_to_terminate_all_backends, Name}, State) ->
    App = app:find_by_name(Name),
    Nodes = lists:map(fun(N) -> node(N) end, get_nodes()),
    % Can't do this in a multicall (or it would be an optimization), but want to get the node back
    % so for now, we'll do it in an rpc:call, instead
    lists:map(fun(Node) ->
      case rpc:call(Node, ?APP_HANDLER, has_app_named, [Name]) of
        true -> 
          rpc:call(Node, ?APP_HANDLER, stop_app, [App, self()]);
        false -> ok
      end
    end, Nodes),
    {noreply, State};
  handle_cast({request_to_start_new_backend, Name}, State) ->
    Backends = backend:find_all_by_name(Name),
    % Don't start a new backend if there is a pending one
  