Dynamically render Surface components

Nice. Thanks for the link!