   class StorageClient
 
     constructor : ->
-      @objectApi = new ObjectApi()
+      @objectApi           = new ObjectApi()
+      @cryptoServiceLoader = new CryptoServiceLoader()
 
     getObjectIds : ->
       return @objectApi.getObjectIds()

          @objectApi.updateObject(objectId, encryptableBlock)

      deferred.resolve()

      return promise

    deleteObject : (id) ->
      @objectApi.deleteObject(id)

    uploadObject : (storageRequest) ->
      storageRequest.validate()


      pendingPromise
      .then (id) =>
        kryptnosticObject = KryptnosticObject.createFromDecrypted({id, body})
        validateDecrypted(kryptnosticObject)

        @cryptoServiceLoader.getObjectCryptoService(id, {expectMiss: true})
        .then (cryptoService) =>
          encrypted = kryptnosticObject.encrypt(cryptoService)
          @submitObjectBlocks(encrypted)
        .then ->
          return id

