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.
CategoryPattern