The client I’m working for at the moment on this is willing to pay for a plugin to solve this issue, see: