[WIP] Feature/adding and removing watchers

https://www.openproject.org/work_packages/13953
Any suggestions for restructuring it?