Taking Mike's suggestion, use scoped_lock in many places that formerly handled a bare mutex.
Make RootInterfaceMutex handled by scoped locks.