anchor.diff:  %%                                      {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
  
positive.code:   start_link/0,
    start_link/2,
    request_to_start_new_backend/1,
    get_host/0, get_seed/0,
    get_routers/0, get_nodes/0,
    dump/1,
  
negative.code: %%                                       {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};
  