#10 start fixing watcher memory leak by:
 - extracting a Pair interface
 - converting the WatcherRegistration from extending Pairs to WeakReference.
Now if you don't keep a reference to the added watcher instance then the entry will be automatically remove.
Need a test but how to???