As Guillaume is saying, default methods address the initialize() issue. On the null case I don't think adding a base class is pulling its weight. I think what we have in BV 2.0 is as good as it gets.