because of a smart trick. I should say that I hate when we break the reachibility and understandibility of the system.
doesNotUnderstand: aMessage
"support sending message to access properties"
| selector |
selector := aMessage selector.
self halt: aMessage selector.
^ selector isUnary
ifTrue: [ (self hasPropertyAt: selector)
ifTrue: [ self propertyAt: aMessage selector asSymbol ]
ifFalse: [ super doesNotUnderstand: aMessage ] ]
ifFalse: [ selector numArgs = 1
ifTrue: [ self propertyAt: aMessage selector allButLast asSymbol put: aMessage argument ]
ifFalse: [ super doesNotUnderstand: aMessage ] ]