refactored broadcasts to watches and updated tests
added more tests