The original intention was to make sure end users write as little amount of code as they can to use AppBlade. That being said, this is a completely new feature so it's not going to step on anyone's toes if we change this up. I don't think we need to though. 

Again, what about a null check for the dialog? The download is happening in its own thread in the background. Once that's successful, if we still have the activity that made the check then we should push a dialog to it. If we don't then we wait until the activity is called again. We'll still have the download (and we can make sure it was downloaded properly via the md5 check) and then we prompt the user to install the app - already downloaded - straight from there.