Looks like I don't even need to clone the word content. Using replaceTableVariable with an Array clones the content already. Is that intended?
$data = array(
array(
'contact_person_name' => 'Name A',
'contact_person_email' => 'email1@email.com',
'contact_person_mobile' => '000001',
),
array(
'contact_person_name' => 'Name B',
'contact_person_email' => 'email2@email.com',
'contact_person_mobile' => '000002',
),
);
$word_object->getFrameworkObject()->replaceTableVariable($data, array('parseLineBreaks' => true));