Client :: sendAll() $onFailure no longer optional, can return false to abort sending