Add a system of hooks to allow third-party code to run before, after, or