anchor.diff:      true ->
           fun(CallbackAcc) ->
               {Callback, UserAcc} = get_callback_acc(CallbackAcc),
  -            Self = self(),
  -            {ok, Notify} = couch_db_update_notifier:start_link(
  -                fun({updated, DbName}) when Db0#db.name == DbName ->
  -                    Self ! db_updated;
  -                (_) ->
  -                    ok
  -                end
  +            {ok, Listener} = couch_event:link_listener(
  +                 ?MODULE, handle_db_event, self(), [{dbname, Db0#db.name}]
               ),
               {Db, StartSeq} = Start(),
               UserAcc2 = start_sending_changes(Callback, UserAcc, Feed),
  
positive.code:     wait_db_updated/3,
      get_rest_db_updated/1,
      configure_filter/4,
      filter/3
  ]).
  
  -export([changes_enumerator/2]).
  
negative.code:                     Acc0,
                      true)
              after
                  couch_event:stop_listener(Listener),
                  get_rest_db_updated(ok) % clean out any remaining update messages
              end
          end;
  