change resultcallback interface
remove extraneous arg
wip
Revert "remove extraneous arg"

This reverts commit 02279b09194bec46fa818196a3c641e39f2a312f.
Revert "change resultcallback interface"

This reverts commit f5f6432759b511c724d9ec82646729be0e1b9d46.
Add support and tests for completion callback events on Futures.