i have talked to David about this a bit.
overall however we don't want to replicate the VersionManager API yet still we want to always give Document instances and not node instances to the user
ideally there should be a way to specify the label one wants to read inside the document annotation, but also inside a property annotation. so that one could for example always get the "draft" label as the document but get the "current" version of the same document as a property. however it would also be nice to be able to get all predecessors as a property.
we will work on this at liip and release at least rudimentary support by end of november.