pub async fn subscribe_v2<E, F, EF, T>( subcription_url: &str, f: F, on_error: EF ) -> Result<(), Box<dyn Error + Send + Sync>>where F: Fn(E) -> T + Copy + Send + Sync + 'static, EF: Fn(Box<dyn Error + Send + Sync>) + Copy + Send + Sync + 'static, T: Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send, E: Event + Send + Sync + Clone + Debug + 'static,