new approach to caching: pickle the whole object and make unpickling explicit.