Convert all hooks to OOP with legacy fallback

Closes #3593646

Merge request reports

Loading