Trying to make callbacks more flexible.