(bug 44222) check for enhanced changes preference in more places

- the code is ugly but does the job
- watchlist code in core needs a bit of refactoring so hooks can be more context aware, etc.

Change-Id: I20322a7463b3afedf01aadcad8177824ee9c86ed