handle_info passes unrecognized info to callback
(partial copy from other fork, simplified to pass all info in same manner)
Merge branch 'handle_info'