feat(binding): split hooks to individual classes, make a hook manager
feat: add initial migrated files from NosSmooth repository