Got first-pass of preview component replacement working