 
   defp notify_node_set(set, set, _), do: :nothingtodo
   defp notify_node_set(old_set, _, new_set) do
-    GenEvent.notify(GenServerring.Events, {:new_node_set, get_set(old_set), get_set(new_set)})
+    GenEvent.notify(GenServerring.Events,
+      {:new_node_set, get_set(old_set), get_set(new_set)})
       File.write!(ring_path, new_set |> :erlang.term_to_binary)
   end
 


  # classic GenServer callbacks
  def handle_call(:get_all, _, ring), do: {:reply, get_set(ring.node_set), ring}
  def handle_call(:get_up, _, ring) do
    {:reply, MapSet.to_list(up_nodes(ring)), ring}
  end
  def handle_call(:get_ring, _, ring), do: {:reply, {:ok, ring}, ring}
  def handle_call({:forced_down, n}, _, ring) do
    counter = ring.counter + 1


  defp get_ring(server), do: GenServer.call(server, :get_ring)

  defp up_nodes(ring),
    do: MapSet.difference(ring.up_set, MapSet.new(get_set(ring.forced_down)))

  defp monitor(list) do
    list = List.delete(list, node())
    Enum.each(list, fn(n) -> Node.monitor(n, :true) end)
  end

  defp gen_ring(set, up, payload, counter, callback),
    do: gen_ring(set, up, payload, counter, callback, Crdtex.Set.new)
  defp gen_ring(set, up, payload, counter, callback, forced_down) do
    %GenServerring{node_set: set, up_set: up, forced_down: forced_down,
      payload: payload, counter: counter, callback: callback}
