Classe de propriedade do manto com base em outra propriedade?

Como posso usar o Github Mantle para escolher uma classe de propriedade com base em outra propriedade da mesma classe? (ou, na pior das hipóteses, outra parte do objeto JSON).

Por exemplo, se eu tiver um objeto como este:

{
  "content": {"mention_text": "some text"},
  "created_at": 1411750819000,
  "id": 600,
  "type": "mention"
}

Eu quero fazer um transformador como este:

+(NSValueTransformer *)contentJSONTransformer {
    return [MTLValueTransformer transformerWithBlock:^id(NSDictionary* contentDict) {
          return [MTLJSONAdapter modelOfClass:ETMentionActivityContent.class fromJSONDictionary:contentDict error:nil];
    }];
}

Mas o dicionário passado para o transformador inclui apenas a parte 'content' do JSON, portanto, não tenho acesso ao campo 'type'. Existe alguma maneira de acessar o resto do objeto? Ou de alguma forma basear a classe de modelo de 'conteúdo' no 'tipo'?

Eu já fui forçado a fazer soluções de hackers como esta:

+(NSValueTransformer *)contentJSONTransformer {
    return [MTLValueTransformer transformerWithBlock:^id(NSDictionary* contentDict) {
        if (contentDict[@"mention_text"]) {
            return [MTLJSONAdapter modelOfClass:ETMentionActivityContent.class fromJSONDictionary:contentDict error:nil];
        } else {
            return [MTLJSONAdapter modelOfClass:ETActivityContent.class fromJSONDictionary:contentDict error:nil];
        }
    }];
}

questionAnswers(2)

yourAnswerToTheQuestion