Restore print statements as a failure here still happens.
- Data-watchers for the same node are no longer 'stacked'. That is, if
  a get and an exists call occur for the same node with the same watch
  function, then it will be registered only once.
Occasionally a test would fail due to the teardown failing because the delete commands weren't wrapped in retries.
Refactor the DataWatch, this removes additional args by making them standard.