public function routine(\XPSPL\Routine $routine) { if (null === $this->_connection) { $this->_connect(); $routine->add_signal(new SIG_Connect($this->_connection)); } $routine->add_idle($this); }