This doesn't explain the purpose of the change, but just suggests the change.

Why would we want to replace this function with a subclass of S3Represent? Who created this task - and what was the incentive?