Handle errors and refreshing in the background

Error messages and refreshing are now displayed out of the user's way. If there are errors, old data is still displayed. (Fixed #45)