getPropertyValue(object, key, opId) {
    if (object instanceof Table) {
      return object.byId(key)
    } else if (object instanceof Text) {
      return object.get(key)
    } else {
      return object[CONFLICTS][key][opId]
    }
  }
Returns the value at property `key` of object `object`. In the case of a conflict, returns
the value whose assignment operation has the ID `opId`.