!7 // a stage can be not started, running or done sclass Stage { S stageName; long started, done; // timestamps O result; S log; sS _fieldOrder = "stageName result"; } module MultiStageProcessing > DynObjectTable { // API Stage addStage(S stageName) { ret addAndReturn(nu Stage(+stageName)); } Stage addStage(S stageName, O result) { ret addAndReturn(nu Stage(+stageName, done := true, +result)); } }