Fix #115; add execute callback

This was a lot easier than I expected.