Core: hook cleanup