callbacks: start hiding behind interfaces (still buggy)

Signed-off-by: Peter Williams <pwil3058@gmail.com>