class MailLoader {

    Mono<MailWithEnqueueId> load(MailReferenceDTO dto) {
        return Mono.fromCallable(() -> dto.toMailReference(blobIdFactory))
            .flatMap(mailReference -> buildMail(mailReference)
                .map(mail -> new MailWithEnqueueId(
                    mailReference.getEnqueueId(),
                    mail,
                    mailReference.getPartsId())));
    }

      MailLoader(Store<MimeMessage, MimeMessagePartsId> mimeMessageStore, BlobId.Factory blobIdFactory);

}