Hm, where am I coming from?
Maybe I was worried that if we remove stuff from the base model, we're going to end up changing this base model code anyway, with lots of if statements. 
At that point it becomes mysterious as to why we have two ways of doing things, one inside the base model code working based on if statements, the other based on attributes.