Move remaining listener processor functionality to do_push.