Como alterar um nome de classe UIViewController em um UIStoryboard em tempo de execução

Eu tenho este UIViewController configurado no meu storyboard, com todas as saídas, exibições e restrições que eu preciso. Perfeito. Vamos chamar isso de WatchStateController, ele servirá como uma classe pai abstrata.

Eu então tenho essa subclasse de WatchStateController, chamada WatchStateTimeController, que terá a funcionalidade que eu preciso para um determinado estado do aplicativo.

Porque eu estou tentando usar o controlador de 1 vista no UIStoryboard, estou tendo alguns problemas em instanciar um WatchStateTimeController como tipo WatchStateTimeController - instancia como WatchStateController.

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

WatchStateTimeController *timeController = (WatchStateTimeController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"WatchStateController"];

Isso ocorre porque o campo "Classe" no Inspetor de identidades do storyboard está definido como "WatchStateController". Então a questão é, como eu simplesmente mudo esse nome de classe no Inspetor de Identidade em tempo de execução?

NOTA: ignoreporque Estou tentando fazer isso e me concentrarcomo. Se você realmente precisa saber por que, pode ler o padrão de design da Estratégia.