Make servicescurrent on this thread until the returned guard drops.
The guard form of scoped, for a scope that spans several statements
(a test, a host’s dispatch of one event). Guards must drop in reverse
order of creation, which Rust’s scoping gives for free.