This is the only way I would do it, but I don't know about UDT custom properties. I could be wrong, but something about it doesn't sound appropriate to me.
Study this tutorial I created for using popups in the way you are describing, and see if this approach would be a better fit for your usage case: