resolving several issues

- memory leak problem
- ability to conditionally suppress event broadcasts
- more Watch object APIs to play with
- exposing Watch object
- updating build
- updating devDeps