.publish() shouldn’t change anything if there’s a signature; if you can share a code snippet of that happening I will certainly get that fixed but I do this kind of thing and never seen that behavior.
so yeah, your approach is the way to go; let me know if you’re able to reproduce that!