init() and shutdown() methods

The behavior of init() and shutdown() methods is well-defined.
During the construction of a class no actual action like thread starts or data modification should happen. This shall happen during the initialization process. The shutdown process should transform the class back to its freshly constructed state, so that it can be reinitialized. Exceptions are threaded classes, which should kill the thread and then need to be reconstructed.

Logging and Messages