public function addPoller(Poller $poller)
    {
        $name = $poller->getName();
        if (array_key_exists($name, $this->pollers)) {
            throw new InvalidArgumentException("Poller named '$name' already exists");
        }

        $this->pollers[$name] = $poller;
    }