First pass at `watch` task (and it's ugly) will refactor later.