I think we should invert this logic, that is - :v2 :v3 should be defined as using the old behaviour, and the default should be using the new. That way when we bump version we don't have to jump all around our code changing this logic. I've been using case statements to achieve this I guess..