variations on talker example from "seven concurrency models"