pub(crate) type Action = Arc<dyn Fn() -> BoxFuture<'static, ()> + Send + Sync>;
struct Action { /* private fields */ }