In complex cases the binder could serve requests before having started APIs. In some complex cases it could lead to failure of initialization.
The static declaration of required/provided class/api available in bindings v3 already solves the problem.
But exporting API after initialization will solve the case even if bindings forget to declare their requirements.
The issue was discovered because the service pulseaudio has no require on service-audio-4a but accesses it while at the same time service-audio-4a waited a foreign reply to achieve its initialization. Because features of bindings version 3 are not used (to ensure backward port to EE) the message get_role of pulse audio lead to correctly detected error that made initialization of the whole service failing.