implemented hashcode and equals for Watcher object