I am leaving this ticket open to explore options further, but it's a deep design issue that cannot be fixed for the 4.2.0 release. After that's out we can come back to it.