code: function LacesModel(object, options) {
  
      Object.defineProperty(this, "_functions", { "value": {}, "writable": true });
  
      LacesMap.call(this, object, options);
  }
docs: Laces Model constructor.  Laces models behave the same as Laces maps, with two exceptions: When a property is assigned a function as its value, the return value of the function is used as value for the property. We call this a computed property. If the computed property references other properties of the model, the value will automatically get updated when one of those other properties is updated. The properties which the computed property references are automatically detected if they have the form of "this.propertyName". References to properties of properties and array elements of properties are detected as well. If the property depends on other (non-detected) properties, you can specify those by giving an array of dependencies as part of the options argument to the set() method.  Examples:  // references to the "firstName" and "lastName" properties get detected // automatically: model.set("fullName", function() { return this.firstName + " " + this.lastName });  // dependencies on properties that are referenced in a "hidden" way need to // be specified explicitly: model.set("displayName", function() { return (this.preferredName === "lastName" ? this.title + " " : "") + this[this.preferredName] }, { "dependencies": ["firstName", "lastName", "fullName"] });  Finally, models also differ by supporting "change:<propertyName>" events, which maps don't.  object - Optional object to initialize the model with. Properties will be initialized for all key/value pairs of the object using the set() method. options - Optional options object. This may contain the following properties: bindChildren - If set to false, no bindings will be created between change events for properties and the change event of this model.