[WIP] Feature/adding and removing watchers

https://www.openproject.org/work_packages/13953
https://www.youtube.com/watch?v=tg5RFeSfBM4 around 45 minutes in.

FWIW DHH doesn't like this approach (calling it ["Test Induced Design Damage"](https://gist.github.com/dhh/4849a20d2ba89b34b201)).