Only call watcher() when it's a function

Fix for #1072, maybe not most elegant, but pretty simple and works fine.