I don't think so - it's a matter of precedence. In general, the objects' own attributes should be used to update the tenant. However, if they are passed in as options, those should be given priority.

I think this is another situation where a clearly defined public/private interface will go along way toward eliminating ambiguous behavior like this. Based on earlier comments by @elight I suspect we want to new up and object and save it and have the underlying save delegate to create. Likewise, a simple save will delegate to update. This will allow us to make the ```create``` and ```update``` methods private, and as a consequence, there will never be the need to pass in attributes directly - it will always be done via the object's attributes.