       for handler <- handlers do
         do_terminate(handler, :stop, :stop, name, :shutdown)
       end
+
     exit(reason)
   end
 
   defp reply({from, ref}, msg) do
-    send from, {ref, msg}
+    send(from, {ref, msg})
   end
 
   defp handle_down(ref, reason, handlers, name) do
     case :lists.keyfind(ref, handler(:ref) + 1, handlers) do
-      false -> :error
+      false ->
+        :error
+
       handler ->
         do_terminate(handler, {:stop, reason}, :DOWN, name, :shutdown)
         {:ok, :lists.keydelete(ref, handler(:ref) + 1, handlers)}

  end

  @doc false
  @spec call(manager, handler, term, timeout) ::  term | {:error, term}
  def call(manager, handler, request, timeout \\ 5000) do
    try do
      :gen.call(manager, self(), {:call, handler, request}, timeout)


  def init_it(starter, parent, name, _mod, _args, options) do
    Process.put(:"$initial_call", {__MODULE__, :init_it, 6})

    debug =
      if function_exported?(:gen, :debug_options, 2) do
        :gen.debug_options(name, options)
      else
        :gen.debug_options(options)
      end

    :proc_lib.init_ack(starter, {:ok, self()})
    loop(parent, name(name), [], debug, false)
  end
