Adicionando relacionamentos no NSManagedObjectModel para NSEntityDescription criado por programação

Quando você escreve uma biblioteca estática que usa CoreData, há uma grande confusão incluindo um arquivo normal .xdatamodeld no projeto, porque você simplesmente não pode simplesmente vincular sua versão compilada (.momd) ao seu binário, então é melhor criar o todoNSManagedObjectModel no código como este:

NSAttributeDescription *dateAttribute = NSAttributeDescription.new;

dateAttribute.name = @"timestamp";
dateAttribute.attributeType = NSDoubleAttributeType;
dateAttribute.optional = NO;
dateAttribute.indexed = YES;

NSAttributeDescription *payloadAttribute = NSAttributeDescription.new;

payloadAttribute.name = @"payload";
payloadAttribute.attributeType = NSBinaryDataAttributeType;
payloadAttribute.optional = NO;
payloadAttribute.indexed = NO;

NSEntityDescription *entry = NSEntityDescription.new;

entry.name = entry.managedObjectClassName = NSStringFromClass(MyCustomEntry.class);
entry.properties = @[dateAttribute, payloadAttribute];

NSManagedObjectModel *mom = NSManagedObjectModel.new;

mom.entities = @[entry];

E tudo é perfeito ...

Mas! Espere, se eu tiver mais de uma entidade na minhaNSManagedObjectModel e eles estão relacionados (para muitos, invertidos, e assim por diante), como no mundo eu vou conectá-los no código, como no exemplo acima, sem aquele editor Xcode legal, onde você faz relacionamentos com vários cliques do mouse?

Exemplo

Imagine, nós temos uma classe MyCustomElement, que é quase a mesma que em MyCustomEntry do código acima. Agora, aqui estão suas interfaces como elas apareceriam se eu usasse a geração do Xcode para entidades:

@interface MyCustomEntry : NSManagedObject

@property (nonatomic, retain) NSNumber *timestamp;
@property (nonatomic, retain) NSData *payload;
@property (nonatomic, retain) MyCustomElement *element;

@end

@interface MyCustomElement : NSManagedObject

@property (nonatomic, retain) NSNumber * timestamp;
@property (nonatomic, retain) NSString * identifier;
@property (nonatomic, retain) NSSet *entries;

@end

@interface MyCustomElement (CoreDataGeneratedAccessors)

- (void)addEntriesObject:(MyCustomEntry *)value;
- (void)removeEntriesObject:(MyCustomEntry *)value;
- (void)addEntries:(NSSet *)values;
- (void)removeEntries:(NSSet *)values;

@end

O que NSRelationshipDescription eu preciso criar para eles e como iniciá-lo?