framework.py: check for callback and invoke
test_callbacks.py: add unit test