FYI, there is some weird legacy behavior which sets self.id to _id in the Model's __init__. See line 60 in db/model/base.py. If we are overriding _id with the one passed here, we should set it to self.id as well. I donno where all we really use it, but so that we don't end up with different id and _id for an object.