before this there was some hidden race condition because raceCondition
is not concurrent-safe, and there was some concurrent reading and
writing.
Now everything is handled safely by the Hub.
Client now have "options" which are understood by the Hub to handle
them differently.