         |> Enum.into(%{})
       end)
     end)
+
+    reap_loop()
   end
 
   defp initial_state do

# It handles all the pipes.

defmodule Hermit.Plumber do

  def start_link do
    # TODO: schedule reap() call.
    Agent.start_link(fn -> initial_state() end, name: __MODULE__)
  end


    |> Enum.each(&Kernel.send(&1, { :pipe_activity, content }))
  end

  # Clean up the dead procs every 60 seconds
  def reap_loop do
    Process.sleep(60_000)
    Logger.info "reap."
    Agent.update(__MODULE__, fn state ->
      Map.update(state, :pipe_listeners, %{}, fn dict ->
        dict
