In Smalltalk, rather than doing the equivalent of "rebless", a much more easy-to-understand metaphor is to have the object carry ("has a") its current "state" as an instance variable, so the data payload would remain constant, but things that you would have changed with "reblessing" are all delegated to an updated-as-necessary "partial brain".