[WIP] Persistance Improvements

As discussed in #282. I need to update the docs before this is merged.