The previous `createPreviewComponent` implementation was problematic for template colocation. We can achieve the same result using normal component class inheritance.
Co-authored-by: David Taylor <david@taylorhq.com>