I'm kind of confused on our callback conventions - why use this instead of `hooks`?