Provide generic Future implementation based on boost::function