The client application sends a request for an expected interface (abstraction), which is implemented by a bridge that the client application is referencing. The bridge then forwards that request by raising a corresponding event. One or more implementors can receive the event published by the bridge. When an implementor is notified, it executes its implementation of the event.