Better solution to 'Future resolved more than once' error