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