This will allow for a FreedomLogger instance to be added to any collection of audiences.
This was written for usage in a future TransactionSpy implementation.
The new component-logging methods are ALL suffixed with "Component" to prevent type erasure conflicts with the other Supplier methods.
These methods were added for completeness for when I make the FreedomLogger an Audience.
This class is meant to track a global PlainTextComponentSerializer instance, so we don't have to call PlainTextComponentSerializer#plainText in every class that needs to serialize a Component into a String.
I implemented this so I can add component logging to FreedomLogger.
This class allows for ForwardingAudience-esque behaviour, while being mutable. It is currently not thread safe.
It was implemented as we need a good way to implement a "TransactionSpy" (or "EconomySpy", maybe) in the future, once we finalize planned administrative functions.