Content is versions, currently this is just saving copies of the content in a revisions table, and other changes like cardtype are not tracked. The way revisions are tracked is likely to be enhanced and made more flexible as it develops.
Abstractly, Wagn only cares about finding the inclusion and link markers so that it can expand them for views that use :naked (vs. :raw) content. The content of cards is in user space, the names used in content for inclusion { { } } or links [ [ ] ] will always be refering to cardnames with the marked paths being relative to the card we are in (+tag refers to "_self+tag"). When cardnames are changed, Wagn maintains link integrity by updating links in contend when the names are changed. It also tracks these links for seaching and such.
The interpretation and format of the content outside of link/inclusion notations is very much up to the Wagneer. With Wagn modules (Packs), you provide triggers, views and modules to do something else with the content string. The Wagn core packs support a RichHtml rendering and editing facility for browsers, so Html is central to these content handlers. Even here, Wagn is just wrapping the content returned, so the content has encodings just like other web content. When we support internationalization, we do it through Html formats and protocols. With the Xml renderer we are using the fact that we can easily represent Html segments in Xml.