Unlike Fortran modules, multiple copies of C++ framework modules can be created at run time. Each copy is called a module-instance and is identified by a unique descriptive name. The reason for having multiple copies of a module, is that each copy can then have it's own set of internal parameters which cause it to behave differently even though the code used is exactly the same. In the Run1 framework, the corresponding concept was a module/parameter set combination. This is the unit of scheduling. A particular module-instance is guaranteed to not be run twice on the same event. For example there may be a Module called ``JetCluster''. The framework could create several instances of it called ``JetCluster_0.4cone'' and ``JetCluster_0.7cone'' both of these could then be scheduled to run on the same event.