add TVRageNetwork to handle retrying network communications, and ImageUpdater to deal with the complexities of image updating