fixes #68: identify the memory leak issue.
fixes #69: fix the leak on watcher when no more strong reference point on it