!7 cmodule RegexpMatcher > DynPrintLogAndEnabled { L jobQueue = syncLinkedList(); ReliableSingleThread sclass Job { S regexp, input; O whenDone; // voidfunc(Matcher) S moduleID; // for who are we doing this } void step { } // API void addJob() q { } void deleteJobsForModule(S moduleID) q { filterLinkedListInPlace(jobQueue, job -> eq(job.moduleID, moduleID)); } }