Callbacks now support function that returns something
Closes dandelion/issues#184