producers and consumers now implement doStart and doStop methods