docs: function Client(_ref) {
      var _this = this;
  
      var _ref$settings = _ref.settings;
      var settings = _ref$settings === undefined ? {} : _ref$settings;
      var _ref$defaults = _ref.defaults;
      var defaults = _ref$defaults === undefined ? {} : _ref$defaults;
      var _ref$services = _ref.services;
      var services = _ref$services === undefined ? {} : _ref$services;
  
      _classCallCheck(this, Client);
  
      var scope = settings.scope || null;
  
      // Basic properties
      this._settings = (0, _objectAssign2['default'])({}, DEFAULT_SETTINGS, settings);
      this._defaults = bind((0, _objectAssign2['default'])({}, DEFAULTS, defaults), scope);
      this._engine = this._settings.engine;
      this._services = services;
  
      // Registering initial services
      Object.keys(services).forEach(function (k) {
        return _this.register(k, services[k]);
      });
    }