I see. Would be nice to have some kind of description/specification of that contract, so that I as an implementor of it know when these hooks will be called.