DownloadHandlerScript disallows subclasses from setting the isDone flag when they chose. Because of this, DownloadHandlerScripts are unable to perform any asynchronous work after a download but before they signal completion.
Take, for example, the case where we are downloading raw bytes and which to create an AssetBundle from them using AssetBundle.CreateFromMemoryAsync. We unfortunately, cannot do this in a safe way inside the download handler, because isDone is forced to true synchronously. This renders the CompleteContent() method much less powerful, as all computation has to be done synchronously.