Changes
/* Modules */
Usually, modules are accessed via an interface they implement, which makes replacement easy.
E.g., the static ''Kernel'' class provides access to the ''UBIKSettings'' module via the interface ''IUBIKSettings''.
This means that a plugin can override the ''UBIKSettings '' class without any adaptions on the caller-side, as long as the same interface can be used (if not, then an entirely new module is probably the right idea).
The concept of switching implementations without the caller having to be changed is called "Inversion of Control" (IoC).