Add tests to watch and refactor private methods