Rename watch() -> listen() and add pull()/parPull()