Hooks are an extension of drives. They are essentially the same thing as drives except for the fact that when the driven field attempts to be written to, a function will be run. This function is defined by the driver.