Configuration classes are going to be very environment/design specific. They are used to share information among various objects without having to create global variables. Typically, they are set by the top-level test, or high-level component and read by lower-level components. Or they might be set by objects and read by other objects later. They should not be used for any kind of synchronization as there are more efficient mechanisms like TLM ports/exports.