persistable sclass SignalWithStrength { settable S type; settable S reason; // 0 = no signal, 100 = full signal // can be outside of [0; 100] too settable double strength; settable O createdBy; toString { ret or2(type, "Unspecified ") + " signal " + appendRoundBracketed( commaCombine(reason, iround(strength) + "%") ); } bool isTrigger() { ret strength >= 100; } }