This is a bit backwards. AddressBook and Contact are "models" which use the backend to for persistence.
Instead do something like:

```php
$vcard = \Sabre\VObject\Component::create('VCARD');
$vcard->FN = \OCP\User::getDisplayName($user);
$now = new DateTime('now');
$vcard->REV = $now->format(\DateTime::W3C);
```
Then do the validation, set PRODID etc. Maybe we should have a helper method for that?