Try this:
Add to parent:
List<WebComponent> items = toObservable([]);
Change:
parent.append(component.host);
To:
parent.items.add(component);
Then modify the HTML to be like:
<template>
<div class="grid">
<div class="large-12 columns" template iterate="item in items">
{{ new SafeHtml.unsafe(item.host.innerHtml) }}
</div>
</div>
</template>