App versions

Please review @ssorallen 
This should somehow handle error responses as well.