Export functionality

I'm starting to work on making exporting happen. Not at all ready to merge - I'm just curious what you think.
This new API makes me nervous. What does None mean?