code: public static CliDirectory from(CliCommandHierarchy hierarchy) {
          final Identifier identifier = new Identifier("system", "System commands");
          final CliSystemCommandFactory factory = new CliSystemCommandFactory(hierarchy);
          return CliDirectory.from(
              identifier,
              factory.createChangeDirectoryCommand(),
              factory.createListDirectoryCommand(),
              factory.createDescribeCommandCommand()
          );
      }
docs: Create a directory containing all system commands. It is convenient to store all system commands in a directory.
  Most system commands require an already built {@link CliCommandHierarchy}, but system commands are also a part
  of the CliCommandHierarchy, creating a circular dependency. This is resolved in the CliCommandHierarchy itself
  by offering a 'promise' object which will eventually delegate to the real implementation.
  
  @param hierarchy Hierarchy on which the system commands will operate.
  @return A {@link CliDirectory} containing all system commands.