Wrap Watcher inside an interface for mocking.
Wrap os/exec.Cmd inside an interface for mocking.
Extract runner initialization to main from trigger.
Add tests.
Merge branch 'refactor-testable'