protected function configureStreams(ConnectionInterface $connection, DuplexStreamInterface $stream, WriteStream $write)
    {
        $timer = $this->addPeriodicTimer($this->getTickInterval(), $this->getTickCallback($write, $connection));
        $read = $this->getReadStream($connection);
        $write->pipe($stream)->pipe($read);
        $read->on('irc.received', $this->getReadCallback($write, $connection));
        $write->on('data', $this->getWriteCallback($write, $connection));
        $end = array($stream, 'end');
        $read->on('end', $end);
        $write->on('end', $end);
        $stream->on('end', $this->getEndCallback($read, $write, $connection, $timer));
        $error = $this->getErrorCallback($connection);
        $read->on('error', $error);
        $write->on('error', $error);
    }