additional explanation about the risks of using the singleton pattern, as requested by @iluwatar
it is important to note that the singleton pattern is inherently unsafe for distributed environments, since the initialization state is not mirrored across different instances of the java vm