public function setStrategy($name)
    {
        if (!in_array($name, $this->_validStrategies)) {
            throw new InvalidArgumentException(
                sprintf('Invalid strategy "%s" was provided', $name)
            );
        }
        $this->_strategy = $name;

        return $this;
    }