before we chose to go in that direction, we had a design to treat the output of the WatchService as an input to the audit service, which would have required a stream join to figure out who wrote the relationship but would have given the desired audit properties