I keep hearing the term hooks, used in software, and I was wondering if someone could explain the concept behind hooks to me?