Why would the `save` method be moved from the collection itself to the main application code?  Is this not a violation of separation of concerns?