Use of class (static) variables
The same UPoC class can be configured on multiple threads in the system, and the use of static variables to permit communication between threads. There should generally be no thread-safety issues with the use of static variables, because of the co-operative multi-threading algorithms of the system.
Deliberate use of static variables to communicate between threads requires care on behalf of the Java programmer. This can lead to problems which are difficult to debug or reproduce.