Refactor Watching

Fixes #3. Fixes #2.