class ExportService {

    InputStream zipMailboxesContent(Progress progress, Username username) throws IOException {
        progress.setStage(Stage.ZIPPING);
        PipedOutputStream out = new PipedOutputStream();
        PipedInputStream in = new PipedInputStream(out);

        writeUserMailboxesContent(username, out)
            .subscribeOn(Schedulers.elastic())
            .subscribe();

        return in;
    }

    @Inject  ExportService(MailboxBackup mailboxBackup, BlobStore blobStore, BlobExportMechanism blobExport, UsersRepository usersRepository);

}