Brilliant answer

So I will just have my proxies manage an XML object instead of a VO.
I would store each shape as an xml string in the database or simply store all the objects on the canvas in a single XML object.
The XML object could include the version number used to generate it so that any future versions of the app would know how to convert it to the latest format.
Best,
Sammi