paraphrased from elsewhere on the Web:
The variable state pattern represents the attributes of an object as a collection rather than instance variables. Users can therefore add or remove attributes without having to modify the code.
It was proposed in KentBeck's SmalltalkBestPracticePatterns.