The class goes through a bit of trouble to use thread-safe access calls for task-thread usage, and simple, fast accumulators for game-thread usage, since it's guaranteed to not be written to concurrently. The class also limits itself to checking the thread once at construction.