Added callback function to zipper, with test.

Also added a safety check to call()