- on the service provider, the implementation provides the actual functionality,
- on the client, the implementation of the interface is just a stub connecting to the actual service provider.
Thus you can sort of provide separation of services as an implementation detail.
However in practice very few projects elect to do this.