whole_func_string: function registerEvents() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            name = _ref.name,
            target = _ref.target;
  
        if (!name || !chimeeHelper.isString(name)) throw new Error('The event name must be a string, but not ' + (typeof name === 'undefined' ? 'undefined' : _typeof(name)));
        if (!target || !chimeeHelper.isString(target)) throw new Error('The event target must be a string, but not ' + (typeof target === 'undefined' ? 'undefined' : _typeof(target)));
        if (target === 'kernel') {
          kernelEvents.push(name);
        }
      }
func_code_string: function registerEvents() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            name = _ref.name,
            target = _ref.target;
  
        if (!name || !chimeeHelper.isString(name)) throw new Error('The event name must be a string, but not ' + (typeof name === 'undefined' ? 'undefined' : _typeof(name)));
        if (!target || !chimeeHelper.isString(target)) throw new Error('The event target must be a string, but not ' + (typeof target === 'undefined' ? 'undefined' : _typeof(target)));
        if (target === 'kernel') {
          kernelEvents.push(name);
        }
      }
func_documentation_string: In some situation, we may have custom events For example, we may have a custom kernel event We can register the event through this method