Use class hooks and improve implementation

Closes #3581970

Merge request reports

Loading