Also the return value of exec_hook() is now the value of the last executed hook. Internally, hooks now use arrays (rather than hash). Also added a get_hooks() method. Updated tests to reflect these changes.
Naming hooks makes them easier to reshuffle and customize.