title: Start Download task when GCM message received
body: <p>Once a device receives a GCM message, I'd like my app to contact my server to refresh its content and download new items. I currently have a <code>GcmListenerService</code> that receives my GCM messages. How would I go about initiating a download on a new thread, and ensuring my Service isn't completed before my download is finished? I already have a custom helper class where I initiate my downloads on a background thread, that normally runs when my app is opened. I'd like to reuse this helper class to initiate the download from the GcmListenerService. How would I tell my GcmListenerService to not finished until my download completes?</p>
  
  <p>Also, I want to make sure that if my app is opened during the download operation, I can hook in to listening for the download completion from my main activity (hence why I want to use my download helper class).</p>