allow producer class to be overridden in setup_nonblocking_producer