Another good point. In general, this patch is just to demonstrate a general approach. When I clean it up I will add a comment that explains why we have to do all this weirdness.