Each plugin is passed a proxy object when instantiated. The proxy object has methods and properties to interact with ASQ.
Hooks are similar to events in the sense that it is a decoupled way to react to application incidents. They differ in the way that handlers are executed:, The handlers are executed serially, each one consuming the return value of the previous. This is better explained with the following diagram of the hook lifecycle:
Of course, they can run asynchronous code since the return value is a