Hm.  I still think everything going through the class method is "neater", and I'm not sure if it's fundamentally that big of a change—you'd have to call the save() method to persist out changes to the database before; now, instead of save(), it's just the class method.

If you still find the "everything goes through the class method" logic uncompelling, though, I can change it.  What do you think?