OAK-144 we introduced the CommitInfo object for observation purposes. It's passed along with custom commit hooks to the NodeStore.merge().
It turns out that the custom commit hooks coming from AbstractRoot.getCommitHook() are constructed using information that could well be passed through the CommitInfo object. This would simplify things as all hooks that apply to a commit could be accessed through the whiteboard as normal services.
Doing this would require us to extend the amount of information that can be passed through the CommitInfo object, and adjust the CommitHook, EditorProvider and ValidatorProvider interfaces to accept also a CommitInfo argument. None of this seems too troublesome.