Bundling multiple feature requests into one basket here:
1) Attach invoker/provider metadata to services and references. This will allow a handler to determine things like whether a service is provided by a binding or implementation.
2) Move endpoint assignment to an exchange handler. At present, ServiceReferenceImpl binds this at exchange creation time, which means it can't be customized. We need to defer the linkage of service reference to registered service to a handler in the chain and allow users to replace/customize this handler.
3) Provide access to the service registry to query and add/remove services in the registry.