public function setEngine($engine)
    {
        if (empty($engine)) {
            $this->engine = null;
            return $this;
        }

        if (!is_string($engine)) {
            throw new InvalidArgumentException(
                'Engine must be a string (the engine ident)'
            );
        }

        $this->engine = $engine;
        return $this;
    }