interface ICollab is Runnable { static final Runnable done = r { fail("Collab done") }; // returns null => sleep // returns done => all work done Runnable grabWork(); void addWork(Runnable work); }