public function config(array $config = []) {
		if (!$config) {
			$keys = ['base' => '', 'text' => '', 'textarea' => '', 'attributes' => ''];
			return ['templates' => $this->_templateMap] + array_intersect_key(
				$this->_config, $keys
			);
		}
		if (isset($config['templates'])) {
			$this->_templateMap = $config['templates'] + $this->_templateMap;
			unset($config['templates']);
		}
		return ($this->_config = Set::merge($this->_config, $config)) + [
			'templates' => $this->_templateMap
		];
	}