Please note somewhere here that this interface is a hack... don't want anyone to get the idea that this pattern is something good to repeat.  I understand the reasons why it exists here, but I wouldn't want to see anything like this done in a proper api.