I think that will still throw a `NameError` if `@watcher` is not defined yet. I think you might need to do:
```ruby
defined?(@watcher) && !@watcher.nil?
```