Give ServiceWatcher a proper lifecycle

ServiceWatcher currently starts working once registered and can never be
unregistered.

Test: manual
Change-Id: I3c193d0c75eafb8e1934663f8928797396b723ba
6 files changed