Replaced SetHookEnabled with a new hook level system based on a HookMode enum which better conveys how the hook mode will be controlled