Use promises for reading blobs
Tidy up tests
Return a promise from sync as well