Rewrite set-callbacks function

Fn -> Macro
Rename to with-callbacks
Add tests
Fix race conditions, looks like dirty hack (
Rewrite set-callbacks
Remove garbage
Merge pull request #85 from DeLaGuardo/master

Rewrite set-callbacks function