ATL provides convenient implementations for the COM persistence interfaces IPersistStreamInit, IPersistStorage, and IPersistPropertyBag. IPersistStreamInitImpl supports saving to and loading from IStream. IPersistStorageImpl supports IStorage. IPersistPropertyBagImpl supports IPropertyBag. Although primarily targeted for ActiveX controls, a simple object can utilize these features as well by adding a property map and the necessary base class to the object. Most objects should take advantage of all three, unless the object will be used only in a known container environment.