Refactor

Shuffled the error context code in examples around a bit to make it a
bit clearer.
Rename callbacks
Use local_data_key! macro to define callbacks