Mainly some refactoring in the What model.