abstract all hooks into other modules
Merge branch 'develop' into release/12.0