Export functionality

I'm starting to work on making exporting happen. Not at all ready to merge - I'm just curious what you think.
As long as it doesn't have a static reference to itself, yes.