I'm not sure about a better name, but I don't really like the name `listen` for this, as to me it implies a long-running process (like in socket server listening).