Initial commit with watcher working and example code and tests