Supporting response caching correctly by implementing Marshal.dump/load for Response