Add Shuttle::Hook and extract hook execution methods
Improve release abort error message