moved AsyncObject into futures and added the timeit method