Extract AsyncTask

AsyncTask moved into own class file for ease of use