if(valueMap==null) valueMap = new HashMap();
if(value==null) valueMap.remove(fieldName);
valueMap.put(fieldName, value);
if(!instance.getProcessTransactionContext().getTransactionListeners().contains(this))
instance.getProcessTransactionContext().addTransactionListener(new TransactionListener(){
public void beforeCommit(TransactionContext tx) throws Exception {
saveValueMap();
}