public function register(EntityInterface $entity, $options = []) {
		$options = array_merge($this->_config['register'], $options);

		if ($options['beforeRegister'] === true) {
			$entity = $this->_beforeRegister($entity, $options);
		}

		$event = $this->dispatchEvent('User.beforeRegister', [
			'data' => $entity,
			'table' => $this->_table
		]);

		if ($event->isStopped()) {
			return $event->result;
		}

		$result = $this->_table->save($entity, $options['saveOptions']);

		if (!$result) {
			return $result;
		}

		if ($options['afterRegister'] === true) {
			$this->_afterRegister($result, $options);
		}

		$event = $this->dispatchEvent('user.afterRegister', [
			'data' => $result,
			'table' => $this->_table
		]);

		if ($event->isStopped()) {
			return $event->result;
		}

		return $result;
	}