   _decrypt: (data) ->
     out = {}
     out[@_deprocessKey(key)] = @_deprocessValue(value) for key, value of data
-    out
-
-  _super: ->
-    return @_super_ if @_super_?
-    @_super_ = {}
-    for key, value of @constructor.__super__
-      @_super_[key] = if _(value).isFunction() then value.bind(this) else value
-    @_super_+    out
  # @param [Function] syncPullHandler A function used to perform pull synchronization operations
  # @param [ledger.storage.Store] auxiliaryStore A store used to save ledger.storage.SyncedStored meta data
  constructor: (name, addr, key, auxiliaryStore = ledger.storage.wallet) ->
    super(name, key)
    @mergeStrategy = @_overwriteStrategy
    @client = ledger.api.SyncRestClient.instance(addr)
    @throttled_pull = _.throttle _.bind((-> @._pull()),@), @PULL_THROTTLE_DELAY

      @_encryptToJson(pushedData)
    .then (data) => if hasRemoteData then @client.put_settings(data) else @client.post_settings(data)
    .then (md5) =>
      l 4
      @_setLastMd5(md5)
      # Merge changes into store
      @_clearChanges()
      @_setAllData(pushedData)
    .then () => @emit 'pushed', this
    .then () => do unlockMutableOperations
    .fail (e) =>
      l 5
      return if e is Errors.NoChanges
      do unlockMutableOperations
      l "Retry", e
      @debounced_push() # Retry later
      throw e
    @_deferredPush.resolve(p)
    @_deferredPush.promise.fin => @_deferredPush = null
    p
