public string ModuleCommand(IList <string> arguments)
        {
            int    reactorId           = int.Parse(arguments[0]);
            string moduleType          = arguments[1];
            int    additionalParameter = int.Parse(arguments[2]);

            IModule module = moduleFactory.CreateModule(moduleType, currentId++, additionalParameter);

            this.modules.Add(module.Id, module);
            this.identifiableObjects.Add(module.Id, module);
            IReactor reactor = this.reactors[reactorId];

            if (module is IEnergyModule energyModule)
            {
                reactor.AddEnergyModule(energyModule);
            }
            else if (module is IAbsorbingModule absorbingModule)
            {
                reactor.AddAbsorbingModule(absorbingModule);
            }

            string result = string.Format(Constants.ModuleCreateMessage, moduleType, module.Id, reactorId);

            return(result);
        }