Since there's no way to _set_ the eTag other than via the constructor (is that intentional?), we might as well add a boolean `uploaded` and set its value in the constructor..?