The Run package contains a set of interfaces and classes for the standard lifecycle of objects (opened, closed, openable, closable, runnable). In addition, it has several helper classes for lifecycle management.
Interfaces
ICleanable
Interface for components that should clean their states. Cleaning state most often is used during testing. But there may be situations when it can be done in production.
IClosable
Interface for components that require explicit closure.
For components that require opening as well as closing,
use IOpenable interface instead.
IOpenable
Interface for components that require explicit opening and closing. For components that perform opening on demand consider using the IClosable interface instead.
Classes
Cleaner
Helper class that cleans a stored object’s state.
Closer
Helper class that closes previously opened components.
Opener
Helper class that opens components.