Commands are exported in a separate class;
Enumerations hold the type of the command;
The type of the command is produced through 'CommandsFactory'