nl_tokens: reports any edits that happen to the given object ( including to other normalized objects by FK ) cb ( typeCode id path edit )
pl_tokens: function ( <mask> , listener ) { _ . assertLength ( arguments , 2 ) //console.log('listening by object: ' + id) //if(_.isInt(id)){ var list = lazyArray ( byObject , id ) list . push ( listener ) ; /*}else{
  					//TODO later rework the way edit updates come in the first place - this is a temporary bridge
  					//_.errout('TODO')
  					var list = lazyArray(byObject, id+'')
  					var innerId = id
  					list.push(function(typeCode, id, editPath, op, edit, syncId, editId){
  						var found
  						//console.log('filtering(' + JSON.stringify(innerId) + '): ' + JSON.stringify(arguments))
  						for(var i=0;i<editPath.length;++i){
  							var e = editPath[i]
  							if(e.op === editCodes.selectObject || e.op === editCodes.reselectObject){
  								if(e.edit.id === innerId.inner){
  									found = i
  									break;
  								}
  							}
  						}
  						//console.log('found: ' + found)
  						if(found !== undefined && editPath.length > found+1){
  							listener(typeCode, id, editPath.slice(found+1), op, edit, syncId, editId)
  						}
  					});
  				}*/ //console.log('byObject: ' + list.length) //console.log(new Error().stack) }