anchor.diff:  get_seed() ->
     gen_server:call(?SERVER, {get_seed}).
   
  +can_deploy_new_app() ->
  +  true.
  +
  +get_next_available_port() ->
  +  ?STARTING_PORT.
  +    
   %%====================================================================
   %% gen_server callbacks
   %%====================================================================
  
positive.code: %%--------------------------------------------------------------------
  handle_info({stay_connected_to_seed, Seed}, State) ->
    join(Seed),
    {noreply, State};
  handle_info(Info, State) ->
    ?LOG(info, "handle_info: ~p ~p", [?MODULE, Info]),
  
negative.code: %%% Internal functions
  %%--------------------------------------------------------------------
  get_next_available_host() ->
    {ok, Node} = mesh_util:get_random_pid(?NODE_SERVERS),
    case rpc:call(node(Node), ?MODULE, can_deploy_new_app, []) of
      true -> node(Node);
      false -> get_next_available_host()
    end.
  
  get_next_available_port(Host) ->
    rpc:call(Host, ?MODULE, get_next_available_port, []).
  
  start_new_instance(Name, Host, Port) ->
    Self = self(),
    rpc:call(Host, app_handler, start_new_instance, [Name, Port, Self]).