Using task continuation to handle all computation. So we are guaranteed proper error handling