>
> Well, the dispatcher is quite safe even if it's initialized more than
> once and even concurrently. Being a namespace-scope object is quite
> sufficient for it. But state names, which are std::strings, are quite
> fragile in this way. And unfortunately volatile flags won't help here.
>