We had this discussion before, and with that occasion I argued that there is no real reason for the shape to be stateful unless you are composing shapes. Right now, the composition of shapes does not affect the bounds. As soon as you will compose them, you will likely feel the need to cache the bounds computation per shape. In Mondrian, we stored these values in the element (with the shape object as key). The end result was that Mondrian has half the amount of objects Roassal has for the same view.
It is just what we are finding a balance between what we can make work today and what people are asking. I am not against this. I've tried a couple of months ago to make the shapes translatable. I couldn't make it work in the amount of time I had. Now that the internal of roassal is simpler (thanks to your discussion about the zordering), we do not rely on ROChildrenShape anymore (we will soon remove it). Probably I should give a try again to translating shapes.
Cheers, Alexandre