public function register(array $signals, $callableArray = null) {
			foreach ($signals as $signal) {
				if (!in_array($signal, $this->_signals, true)) {
					$signalName = static::getSignalName($signal);
					throw new InvalidArgumentException("Signal [{$signalName}] is not supported. Use setSignals() to add support.", $signal);
				}
			}
			$reg = new Listener($signals);
			$reg->setNotification($callableArray);
			$this->_byId[$reg->id] = $reg;
			foreach ($signals as $signal) {
				$this->_bySignal[$signal][$reg->id] = $reg;
			}
			return $reg;
		}