As mentioned in D7237, the kioslave helper is also a candidate for being converted to a "nongui" agent.
It thus makes sense to put the helper functions into a shared library, all the more so since kiod5 and kioslave aren't the only helper utilities that should run as agents.
To keep matters simple I've put the new ObjC++ module into libKF5KIO but I think it really should go into KCoreAddons (possibly into a new namespace). Suggestions welcome how to implement that properly!