Save and retrieve objects with true round-trip class support