I included settable state when I designed an interface for a software component. It goes something like this:
SetThing(thing Thing); // keep a copy of Thing.
GetState(state &State); // depends on internal Thing
DoAction(); // do action with Thing
At the time, it was [...]