This patch removes a few callbacks from Pipeline. It comes at the cost of
registering Listeners with all Stages. Not all stages need listeners or issue
callbacks, this registration is a bit redundant. However, as we build-out the
API, this redundancy can disappear.
The main purpose here is to move callback code from the Pipeline and into the
stages that actually issue those callbacks. This removes the back-pointer to
the Pipeline that was put into a few Stage subclasses.
This pattern appears quite a lot in various stages. One solution to avoid duplication would be to change the virtual void onXXXEvent(constHWXXXEvent&) callback to virtual void onEvent(const HWXXXEvent&). Then there can be a single notifyEvent function in Stage:
What do you think ?