This fixes a lot of awkwardness that came from having the record() functionality inside of store.py. It is still broken, but is much closer to actually working now. I also sketched some data and io functionality, which has no tests and is not yet working at all.