docs: function runBeforeDetach (args, methodMeta) {
      // skip if no beforeDetach methods
      if (!defined(methodMeta.beforeDetach)) {
          return
      }
      // run all functions
      _.each(methodMeta.beforeDetach, method => {
          // call method
          (method)(args, methodMeta.signature, 'beforeDetach')
          // log errors
          .catch(err => {
              // require log client
              if (!defined(methodMeta.logClient)) {
                  return
              }
              // log error
              methodMeta.logClient.error(err, args.session)
          })
      })
  }