This would allow us to do some neat things like create our own file layout and set up the components properly, and integrate #9. The problem is that it seems like if we want to define our components that way, we'd need to do it programmatically which isn't ideal.