But what I meant to convey was that 2.x and 3.x should be viewed as separate versions that are incompatible. So i think they should be handled separately.
I think it can be properly handled by a single script, I'd be more than willing to hack on it… but since the gist of it is written in ruby, and ruby for me is basically line noise, I'll happily accept whatever the community decides.