code: function ImmutableCoreModelLocal (args) {
      this.model = args.model
      this.session = args.session
      // add getter for select that will return a new select instance
      // whenever it is called
      Object.defineProperty(this, 'select', {
          get: () => {
              return new ImmutableCoreModelSelect({
                  model: this.model,
                  session: this.session,
              })
          }
      })
  }
docs: @function ImmutableCoreModelLocal
  
  @param {object} args
  
  @returns {ImmutableCoreModelLocal}