is it better to take the Producer as the arg? Are you doing this to avoid serialization?