Patch Set 1:

Yeah, I thought about the same thing. Originally I didn't want to break existing functionality, so I decided to branch, but in the end the diff indeed seems to be not enough to justify a separate class or even hierarchy of classed like we discussed earlier today. I do expect it to get a little ugly, I am afraid I'll have to add more than one "if". Anyway, I'll take a look and try to submit a new revised patch soon.