some event clean up, allowance for specifying client id to support easy testing?
working