   use Supervisor
 
   def start_link(kind, registry, partitions, listeners, entries) do
-    Supervisor.start_link(__MODULE__, {kind, registry, partitions, listeners, entries}, name: registry)
+    arg = {kind, registry, partitions, listeners, entries}
+    Supervisor.start_link(__MODULE__, arg, name: registry)
   end
 
   def init({kind, registry, partitions, listeners, entries}) do

      :ets.lookup_element(registry, @key_info, 2)
    catch
      :error, :badarg ->
        raise ArgumentError, "unknown registry: #{inspect registry}"
    end
  end


    total = :ets.select_count(key_ets, total_spec)

    # We only want to delete things that match the pattern
    delete_spec = [{{:_, {self, pattern}}, [underscore_guard | guards], [true]}]

    case :ets.select_delete(key_ets, delete_spec) do
      # We deleted everything, we can just delete the object
      ^total ->
