Check that callback can accept 1 argument (concurrent.futures provides the future as an argument to the callback)
add tests for asynchronous behaviour