But comment is useful, maybe just explain what exactly is happening. So that if person becomes associated with user, slug will be changed to username, so we want to still support old URLs.

But on the other hand, again, it does not matter why this publish is used in client code. We are just providing such publish function. There is no need to explain where it is used. This is internal API and there is a need for this API. What if we will be using it somewhere else as well? Rather explain at subscribe place why you are using this publish.