pub fn task_future<T>( task: impl FnOnce(T) + 'static, state: T, delay: Option<Duration>) -> (impl Future<Output = ()>, SpawnHandle)