I just produced a rough proof of concept to fix this issue.�� Its not ready to integrate because I don't grasp the architecture. I just hacked and smashed around with the debugger until it worked.�� It ended up needing only two methods modified, so hopefully it nicely defines the problem for a knowledgeable person to produce a proper solution.

About a dozen small issues (e.g. renaming packages) are dependent on this, so can anyone help out?

cheers -ben