pub fn spawn_with_delay<F, R>(
    delay: Duration,
    fun: F
) -> impl Lifecycle<S = IntrospectableStop>where
    F: Fn() -> R + Send + Sync + 'static,
    R: Future<Output = ()> + Send,