There are currently three ways to programmatically add hooks: