Make BaseModel immutable and more like a dict