Do the computation in a separate task