public void add(@Nonnull IModule module){
  touch();
  subModules.add(module);
}

public void add ( @ Nonnull IModule module ) { touch ( ) ; subModules . add ( module ) ; }
adds a new module to the container , this will throw an error if the container is frozen and no longer accepts modules
