Another url event refactor - use the same code for listen as for argv