Add CallbackAdapter
tweaked callback adapter
Merge branch 'callback_adapter'