An Interface describing a class capable of expanding strings which
may contain variable references. The exact syntax of the "reference",
and the mechanism for determining the corresponding value to be used
is up to the concrete implementation.
Return the input string with any variables replaced by their
corresponding value. If there are no variables in the string,
then the input parameter is returned unaltered.