public function register($option, $type = OptionInterface::TYPE_GET)
    {
        if (is_string($option)) {
            $option = $this->factory->create($option, $type);
        }

        if (!$option instanceof OptionInterface) {
            throw new \InvalidArgumentException(
                'The option should be either a string or a "Widop\Twitter\Options\OptionInterface".'
            );
        }

        $this->options[$option->getName()] = $option;

        return $this;
    }