With the support for dynamic loading of components, one could also standardize unloading of components. A component may have standardized interfaces for un-binding its ports, saving their state in persistent storage, and unloading them. When a component un-binds its ports, Charisma should substitute them by dummy ports that buffer all the incoming data, instead of discarding them. This would make sure that other components connected to the substituted components do not have to be aware of a connected component being substituted. Also, each component should support a new interface for starting from a saved state. Compatibility of components available for substitution may be determined by compatibility of the saved state. We expect that this will be useful for upgrading to newer component versions available in addition to substituting new functionality.