feat(binding): split hooks to individual classes, make a hook manager
feat(binding): add custom asm hooking