Implement RemoteWatcher

@Aaronontheweb. As discussed here is my implementation of RemoteWatcher *so far*

One of the unit tests is failing. That test isn't quite complete either.

Looks like there are a few todos that need addressing as well.