Asynchronous routines should never take an error_code as they signal any error conditions via the returned future