refactoring deltas to better support JSON serialization