First step that creates the core interfaces and the guice based implementation.
 * Add new watcher management methods to the registry interface
 * extract MultimapList to wrap it. By the way I have extracted some inner classes.
Start implementation of watcher management
introduce blocking registry