Let's remove anywhere we're using replace() in favour of instantiating a new instance of a given class. We want to enforce a consistent style of using immutable objects.
See https://github.com/aws/aws-durable-execution-sdk-python-testing/blob/main/src/aws_durable_execution_sdk_python_testing/model.py#L2448-L2461 for example.
Brought up in this PR: #95 (comment)