Hooks: Another reimplementation of hooks