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.