Each profile constructor corresponds to two createProfile()() methods. Both methods use the runtime mechanism in the KcsLoadable class to dynamically load themselves at runtime. During creation of an identifier-based profile, a createProfile()() method automatically loads the runtime module, which allocates the correct derivative. It then calls createEmptyProfile()() for initialization.