code: function finallyCall(method)
  {
    var l = arguments.length
    var params          = Sliced(arguments, 1, l - 3)
    var successCallback = arguments[l - 3]
    var errorCallback   = arguments[l - 2]
    var finallyCall     = arguments[l - 1]
    var finallyOk = function() {
      try {
        successCallback.apply(successCallback, arguments)
      } finally {
        finallyCall()
      }
    }
    var finallyErr = function() {
      try {
        errorCallback.apply(errorCallback, arguments)
      } finally {
        finallyCall()
      }
    }
    method.apply(method, params.concat(finallyOk, finallyErr))
  }
docs: Mimics finally call
  params: ..., onSuccessFn, onErrorFn, onFinallyFn