The key resolver dialog from Kleopatra should be in libkleo so that a unified key dialog ( https://phabricator.kde.org/T5050 ). Such a dialog should be wrapped into an executable that takes recipients as arguments on the command line and returns the resolved keys / fingerprints on stdout.
This could replace the remaining assuan / UI Server communcation in GpgOL while still providing a nice GUI without having to add GUI Code to GpgOL itself. That should drastically increase performance as it bypasses Kleopatra's full init code, and gives control about the encryption directly to GpgOL. GpgOL would then also be more flexible to handle the eencryption / signing.