removing threading logic from producers