All three built-in QO providers use an empty done() handler, so we could clean that up now that it's optional.