Rename observable clients and add tests

Renamed to be consistent with non observable classes.
Tests are incomplete.  Need to know where to expose this in the api.