     case :lists.keyfind(module, handler(:id) + 1, handlers) do
       false ->
         {false, {:error, :not_found}, handlers}
+
       handler ->
         case server_call_update(handler, query, name, handlers) do
           {{hib, handler}, reply} ->
             {hib, reply, :lists.keyreplace(module, handler(:id) + 1, handlers, handler)}
+
           {:error, reply} ->
             {false, reply, :lists.keydelete(module, handler(:id) + 1, handlers)}
         end

  end

  @doc false
  @spec stream(manager, keyword) :: GenEvent.Stream.t
  def stream(manager, options \\ []) do
    %GenEvent.Stream{
      manager: manager,
      timeout: Keyword.get(options, :timeout, :infinity)}
  end

  @doc false

      def handle_call(msg, state) do
        proc =
          case Process.info(self(), :registered_name) do
            {_, []} -> self()
            {_, name} -> name
          end

        # We do this to trick Dialyzer to not complain about non-local returns.
        case :erlang.phash2(1, 1) do
          0 ->
            raise "attempted to call GenEvent #{inspect(proc)} but no handle_call/2 clause was provided"

          1 ->
            {:remove_handler, {:bad_call, msg}}
        end
      end

