- Moved helper functions from abstract.office for storing info in ObjectFormatter's temp data to methods on ObjectFormatter.
public void putTemp(Object this, ObjectFormatter formatter, str k, Object v) {
    Object temp = formatter.getTemp(this);
    str->Object tempMap = temp.:str->Object;
    if (!tempMap) {
        tempMap = new str->Object();
        formatter.putTemp(this, tempMap);
    }
    tempMap.put(k, v);
}
public Object getTemp(Object this, ObjectFormatter formatter, str k) {
    if (?str->Object tempMap = formatter.getTemp(this)) {
        return tempMap.get(k);
    }
    return null;
}
final public void putTempProp(Object owner, str k, Object data) {
    if (!tempData) tempData = new Object->Object;
    
    ?str->Object map = tempData.get(owner);
    if (!map) {
        map = new str->Object;
        tempData.put(owner, map);
    }
    
    map.put(k, data);
}
final public Object getTempProp(Object owner, str k) {
    if (?str->Object map = tempData.?get(owner)) return map.get(k);
    return null;
}
final public void removeTempProp(Object owner, str k) {
    if (?str->Object map = tempData.?get(owner)) map.remove(k);
}