                       CoordinateStash, PingClient, PingServer}
 
   def start_link(config, state_agent, algo_sup) do
+    name = get_name(config[:node_id])
     GenServer.start_link(__MODULE__, [config, state_agent, algo_sup], name: name)
   end
 

      nil ->
        message = "#{node_id}: cannot execute command :begin_pings. PingClient isn't running"
        Logger.error message
        {:reply, {:error, message}, {:pinging, state_agent, config}}
      pid ->
        {:reply, :ok, {:pinging, state_agent, config}}
    end

      {:ok, algo_sup} ->
        Process.exit pid, :kill
        log_command_executed(node_id, :force_reset, status)
        # Should we check if processes are restarted here? 
        next_status = :just_started
        set_status(node_id, state_agent, status, next_status)
        {:reply, :ok, {next_status, state_agent, config}}
    end
  end

  # TODO: Handle invalid commands

  def log_command_and_get_process(node_id, command, name, {status, state_agent, config}) do
    log_command_received(node_id, command, status)
