pub type PhaseHook = Arc<dyn Fn(State, Arc<dyn SessionWriter>) -> BoxFuture<()> + Send + Sync>;
Async phase hook receiving shared state and a session writer.
pub struct PhaseHook { /* private fields */ }