I agree with you that we could make `create` and `update` private methods. 

I will say that I have seen people pass non-attributes information into the save method which then gets passed along to the update and create methods. The [network functionality](https://github.com/fog/fog/blob/master/lib/fog/rackspace/models/compute_v2/server.rb#L242) on the Rackspace server model comes to mind.

This is probably a practice we don't want to encourage, so I am fine with not tweaking this. We can revisit it when it becomes a problem.