The PEB itself is part of the PVM, however, it only supports bindings of subscribed components through an API, whereas configuration based binding is only supported within the engine. There is a set of basic events being known and fired by the PVM itself, though not limited to this basic set of event types.
In other words, when I want to use the PVM only (maybe to support my own, simple DSL on top of it), I can subscribe to PEB events by adding my listener through the PEB's API or I could come up with an own configuration handler on top of the PVM and my extensions.
Within the engine, I basically see three options for PEB subscribers:
- registering my own component through the configuration (e.g. Spring namespace handler supporting this feature)
- registering my own component through a plugin mechanism (we still would have to discuss its architecture though)
- during runtime, by adding my own component to the PEB through its API