25dda06f49
Several member variables are shared_ptr's to this base class. Even though producer listeners are still unimplemented, this ensures we always have consistent deletion behavior once this ends up being used polymorphically.