temp. refactoring blobstore to be simpler and more extensible in the future
adds test for blobstore