Put HookStep in its own file
Use separate classes for before and after hooks