btw, see the existing functions on value objects, there is a internal one to give you all properties meant for the legacy template engine.see: https://github.com/ezsystems/ezpublish-kernel/blob/master/eZ/Publish/API/Repository/Values/ValueObject.php#L200