+1 on ```new_record?``` 

I agree on a base class. As I've said on multiple occasions, this is one of those rare circumstances where inheritance actually isn't a code smell.