       {{peer_id, peer_name}, command}
     end)
     |> (fn peers_and_commands -> 
+      Logger.info "sending command..., #{inspect peers_and_commands}"
       send_command(peers_and_commands)
-      get_status(peers, :just_started)
+      status = get_status(peers, :just_started)
+      Logger.info "Status: #{inspect status}"
       peers
     end).()
     |> (fn peers ->

  alias Vivaldi.Peer.{Config, ExperimentCoordinator}
  alias Vivaldi.Experiment.Logcentral

  def up(name, cookie) do
    {:ok, _} = Node.start name
    Node.set_cookie cookie
    {:ok, _} = Logcentral.start_link "/tmp/vivaldi_events.log"
  end

  def start(session_id=1) do
    # Begin!
    Node.list()
    |> Enum.map(fn name ->
      [node_id, ip_addr] = name |> Atom.to_string |> String.split("@")

    end)
    |> run([session_id: session_id])
  end

  def visualize(session_id \\ 1) do
    src = log_path(session_id)
    dst = Path.absname("visualization/public/my_events.json", "./../")
    Logcentral.to_json(src, dst)
  end


  @doc """
  Run the following sequence of commands to kickoff the Vivaldi algorithm on each peer.
