Right, it depends on your goals: if you want your objects to be autonomously self-rendering, they should have what they need.
An interesting recent counter-use-case was this animated text stream.
OP set out to make the letter autonomously renderable, but that was needlessly complex – in fact, they were always being rendered relative to an accumulation of shifting previous objects, so one alternate approach that made sense was for them not to store their own location, but instead be positioned in a typing stream.
Of course, that approach makes more sense if you are changing the locations of every object every frame or constantly re-sequencing – not common for most GUI control elements.